1

我需要修改应用程序,并且更改涉及使用事件时间,因为它们被发布到窗口消息循环。无论如何,长话短说,我getmessagetime在窗口消息处理程序中使用来获取消息的时间。它似乎工作正常,但文档明确指出,如果消息循环运行,getmessagetime它将返回参数,但如果它运行与此应用程序的情况一样,则什么也不说。msg.timegetmessagepeekmessage(...,pm_remove)

所以问题是,getmessagetime如果应用程序的消息循环运行是否可靠,peekmessage(...,pm_remove)或者我是否应该请求客户端允许修改peekmessage(...,pm_no_remove)+getmessage组合的消息循环?或者换句话说,读取的内部值是getmessagetimeset bygetmessage还是 by dispatchmessage

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

4

0 回答 0