jjzjj

PostQuitMessage

全部标签

c++ - WinMain 的返回值

总而言之,我有一个关于WinMain的问题。在VS2010中,_tWinMain的返回值为“(int)msg​​.wParam”。我不明白为什么它会返回wParam。wParam是什么?我可以将其更改为“return0”吗? 最佳答案 当WM_QUIT被GetMessage处理时,它会终止消息循环。WM_QUIT的文档是这样说的:wParamTheexitcodegiveninthePostQuitMessagefunction.这是您从WinMain返回的值。因此,该值只是作为退出代码传递给PostQuitMessage的值。您可

c - 使用 `PostQuitMessage` 和只处理所有消息有区别吗?

我想知道这两个片段之间是否存在差异:一个:voidmain(){//...while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}ExitProcess(0);}//...voidquit(){PostQuitMessage(0);}两个:boolquit=false;voidmain(){//...while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);if(quit){while(P

c++ - PostQuitMessage() 和 DestroyWindow() 之间的逻辑区别是什么?

在我的演示应用中caseWM_CLOSE:DestroyWindow(hndl);return0;和caseWM_CLOSE:PostQuitMessage(0);return0;做同样的事情。每次打电话时,窗帘后面有什么不同?DestroyWindow是否更直接,因为PostQuitMessage必须通过返回false的getmessage循环? 最佳答案 DestroyWindow销毁窗口(惊喜)并将WM_DESTROY(您还将获得WM_NCDESTROY)发送到消息队列。这是WM_CLOSE的默认行为。然而,仅仅因为一个窗口被

c++ - PostQuitMessage() 和 DestroyWindow() 之间的逻辑区别是什么?

在我的演示应用中caseWM_CLOSE:DestroyWindow(hndl);return0;和caseWM_CLOSE:PostQuitMessage(0);return0;做同样的事情。每次打电话时,窗帘后面有什么不同?DestroyWindow是否更直接,因为PostQuitMessage必须通过返回false的getmessage循环? 最佳答案 DestroyWindow销毁窗口(惊喜)并将WM_DESTROY(您还将获得WM_NCDESTROY)发送到消息队列。这是WM_CLOSE的默认行为。然而,仅仅因为一个窗口被

windows - PostQuitMessage(WM_QUIT)与 PostQuitMessage(0)

有什么区别caseWM_DESTROY:PostQuitMessage(WM_QUIT);break;和caseWM_DESTROY:PostQuitMessage(0);break;? 最佳答案 当您调用PostQuitMessage时,您传递的是退出代码,而不是消息ID。PostQuitMessage将依次为您生成(并发布)WM_QUIT消息。从技术上讲,不同之处在于使用PostQuitMessage(WM_QUIT),退出代码将为0x0012(或十进制的18)。而PostQuitMessage(0)将提供0的退出代码。当Get

c - PostQuitMessage() 是否进入 WM_DESTROY 或 WM_CLOSE?

我正在尝试使用Win32API创建一个非常基本的窗口,我已经很久没有这样做了。我认为我的消息循环没问题,但是当我关闭打开的窗口时,应用程序仍在运行。看起来消息循环永远不会收到WM_QUIT消息。但是,我正在调用PostQuitMessage并且消息框确认我调用了它。这个极简代码有什么问题?#includeLRESULTCALLBACKwindow_proc(HWNDhwnd,UINTmsg,WPARAMw_param,LPARAMl_param){switch(msg){caseWM_DESTROY:MessageBox(NULL,L"destroy",L"info",MB_OK);P