张贴讯息

【勇芳软件工作室】汉化HomePreviousNext

您可以使用PostMessage功能将消息发布到消息队列。PostMessage在线程的消息队列的末尾放置一条消息,并立即返回,而不等待线程处理消息。该函数的参数包括窗口句柄,消息标识符和两个消息参数。Windows将这些参数复制到MSG结构中,填写结构的时间pt成员,并将结构放置在消息队列中。

Windows使用与PostMessage函数一起传递的窗口句柄来确定哪个线程消息队列应该接收消息。如果句柄是HWND_TOPMOST,Windows会将消息发布到所有顶级窗口的线程消息队列中。

您可以使用PostThreadMessage功能将消息发布到特定线程消息队列。PostThreadMessagePostMessage类似,除了第一个参数是线程标识符而不是窗口句柄。您可以通过调用GetCurrentThreadId函数来检索线程标识符。

使用PostQuitMessage功能退出消息循环。PostQuitMessageWM_QUIT消息发布到当前正在执行的线程。线程的消息循环终止并在Windows遇到WM_QUIT消息时将控制权返回给Windows。应用程序通常调用PostQuitMessage响应WM_DESTROY消息,如以下示例所示。

case WM_DESTROY:

//

//执行清理任务。

//

PostQuitMessage(0);

break;