delphi - 为什么要在 getmessage 之前先 peekmessage?

标签 delphi winapi peekmessage getmessage idle-processing

为什么在Getmessage()之前需要使用peekMessage语句来创建消息队列?

最佳答案

这不是必需的。

不过,您有时会看到一个线程尚未准备好处理消息,但它希望能够在其消息队列中接收消息。新线程不会立即拥有消息队列,但调用 PeekMessage 足以创建消息队列。由于没有消息,它会立即返回,这允许线程继续做好准备。与此同时,其他线程可以开始为新线程排队消息。一旦新线程准备就绪,它就会调用 GetMessage 来检索队列中的第一条消息,或者等待将消息放入队列中。

关于delphi - 为什么要在 getmessage 之前先 peekmessage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2850186/

相关文章:

windows - 确定 .exe 依赖项

c++ - 将 std::thread 对象存储为类成员

delphi - COM Elevation Moniker 在 Vista/Windows 7 下无法提升服务器

c++ - PeekMessage 没有收到消息?

delphi - 为什么当 ShowCaption 设置为 True 时,TToolBar 会自动计算按钮宽度?

Delphi:为什么类变量会影响方法的结果?

delphi - 阻止运行主窗体的OnActivate事件

Delphi:通过LocaleID获取国家代码