/WinMain函数
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
g_hinstance = hInstance;
if( !Register("Main",WndProc) ) //注册窗口类 RegisterClassEx
{
MessageBox(NULL,"注册失败","Infor",MB_OK);
return 0;
}
HWND hWnd = CreateMainWnd("Main","window"); //创建窗口CreateWindow
Display(hWnd);
Message();//消息循环 在主线程中负责处理OS发来的消息
return 0;
}
//消息循环 (消息泵)
void Message()
{
MSG nMsg ={ 0 };
while (GetMessage(&nMsg, NULL, 0, 0))
{
TranslateMessage(&nMsg);
DispatchMessage(&nMsg);
}
}
//windows 消息处理函数
LRESULT CALLBACK WindowProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
//最后,你不愿意处理的消息交给默认消息处理函数
Return DefWindowProc( hWnd, nMsg, wParam, lParam); // 默认windows消息处理函数
}
//其中操作系统将硬件消息分发给每个窗口对应的线程的消息泵来处理
//
//如果在子线程中创建了窗口(wnd),则子线程中需要有处理消息的消息泵, 消息不会发到主线程的消息循环
//
//CreateThread(NULL,0,ThreadProcTrade,NULL,0,&threadID_Trade);
DWORD WINAPI ThreadProcTrade(LPVOID lpParam)
{
g_hinstance = hInstance;
if (!Register("Main", WndProc)) //注册窗口类 RegisterClassEx
{
MessageBox(NULL, "注册失败", "Infor", MB_OK);
return 0;
}
HWND hWnd = CreateMainWnd("Main", "window"); //创建窗口CreateWindow
Display(hWnd);
Message(); //消息循环 子线程中负责处理OS发来的本线程创建的UI的消息
return 0;
}