int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
HWND hwnd=::CreateWindowEx(0,NULL,"测试",0,0,0,800,600,NULL,NULL,hInstance,NULL);
::ShowWindow(hwnd,SW_SHOW);
::UpdateWindow(hwnd);
MSG msg;
while(::GetMessage(&msg,hwnd,0,0))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
return 0;
}
发现这段代码可以运行,但是看不到任何的窗口,但是在任务管理器里面有进程在运行,也就说应用程序在进行消息循环,那么消息循环的窗口函数在什么地方呢?求高手解释一下。
猜想:操作系统维护了一个全局的消息队列,所有的消息都经过这个消息处理函数的一些传递到应用程序的消息函数,应用程序的消息函数再将消息传递给各个窗口,然后响应消息。不知对否,求高手解释一下