使用带有peekmessage的getmessagetime而不是getmessage

时间:2013-02-11 00:16:46

标签: winapi

我需要修改应用程序,更改涉及使用事件发布到窗口消息循环时的时间。无论如何,长话短说,我在窗口消息处理程序中使用getmessagetime来获取消息的时间。它似乎工作正常,但getmessagetime的文档明确指出,如果消息循环与msg.time一起运行,它将返回getmessage参数,但如果它与peekmessage(...,pm_remove)一起运行则不会显示任何内容是这个应用程序的情况。

所以问题是,如果应用程序的消息循环与getmessagetime一起运行,peekmessage(...,pm_remove)是否可靠,或者我是否应该要求客户端修改peekmessage(...,pm_no_remove)+getmessage组合的消息循环?或者换句话说,由getmessagetimegetmessage设置的dispatchmessage读取的内部值是什么?

为什么我不能简单地要求更改消息循环以保持msg.time参数的原因是,如果用户正在调整窗口大小,则Windows使用内部消息循环而不是应用程序的消息循环,因此{{1不会设置参数,因此必须使用msg.time来保证可靠的时间。

0 个答案:

没有答案