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