我需要修改应用程序,更改涉及使用事件发布到窗口消息循环时的时间。无论如何,长话短说,我在窗口消息处理程序中使用getmessagetime
来获取消息的时间。它似乎工作正常,但getmessagetime
的文档明确指出,如果消息循环与msg.time
一起运行,它将返回getmessage
参数,但如果它与peekmessage(...,pm_remove)
一起运行则不会显示任何内容是这个应用程序的情况。
所以问题是,如果应用程序的消息循环与getmessagetime
一起运行,peekmessage(...,pm_remove)
是否可靠,或者我是否应该要求客户端修改peekmessage(...,pm_no_remove)+getmessage
组合的消息循环?或者换句话说,由getmessagetime
或getmessage
设置的dispatchmessage
读取的内部值是什么?
为什么我不能简单地要求更改消息循环以保持msg.time参数的原因是,如果用户正在调整窗口大小,则Windows使用内部消息循环而不是应用程序的消息循环,因此{{1不会设置参数,因此必须使用msg.time
来保证可靠的时间。