windows - Win32 API中GetMessage()的内部机制?

标签 windows

在windows应用程序的消息循环中,GetMessage()函数会在消息队列中没有消息时挂起应用程序线程,但是当消息队列中有消息入队时,它是如何唤醒自己的呢?休眠线程如何唤醒自己?

while (GetMessage (&msg, NULL, 0, 0))
         {
              TranslateMessage (&msg) ;
              DispatchMessage (&msg) ;
         }

最佳答案

线程不会唤醒自身。向它发送消息的线程将 唤醒。发送消息的部分过程包括唤醒消息的接收者。

关于windows - Win32 API中GetMessage()的内部机制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8109735/

相关文章:

c# - Solr.Net 查询 : ArgumentException in Windows Forms

python - Windows Docker - 在 python 中安装 Spacy 语言模型返回 ImportError : DLL load failed: The specified module could not be found

windows - 将批处理文件(.bat 文件)中的值返回到文本文件

java - 在浏览器启动和关闭时调用自定义 URI 方案

windows - 如何开发不接触硬件的 Windows 驱动程序?

c++ - 如何将 HRESULT 转换为错误描述?

c# - 如何使用c#从应用程序的安装文件夹中读取文件?

Windows 7只需要保留一个文件夹中最近的5个文件,其余的删除

windows - 使用 Inno Setup 更改计算机名称

windows - 使用 Wix 安装程序将快捷方式添加到开始菜单程序中的子文件夹