如何确定用户在线程中定义消息的优先级?

时间:2009-08-28 11:27:18

标签: c++ winapi multithreading

我只有一个线程(Windows应用程序),它接收窗口和用户定义的消息。现在,当用户点击鼠标并按住应用程序锁定时 我该如何解决这个问题?我有一个线程的限制。

3 个答案:

答案 0 :(得分:2)

  

当用户点击鼠标并按住应用程序锁定时。

这不应该发生在标准的消息循环布局中。

如果您想要进行一些长时间的操作(例如等待鼠标注释消息),则无法阻止收到的消息。

所以我认为你的问题是WM_LBUTTONDOWN中的逻辑。只需设置一个标志,不要等待WM_LBUTTONUP消息。

答案 1 :(得分:1)

您可以将PeekMessage()与过滤器一起使用。 GetMessage()也允许过滤。

请参阅MSDN文档:http://msdn.microsoft.com/en-us/library/ms644943%28VS.85%29.aspx

答案 2 :(得分:0)

尝试查看是否从wndproc函数返回正确的值。 如果您没有返回正确的值,则应用程序可能会被锁定。 我认为,在你的情况下WM_LBUTTONDOWN事件可能没有返回正确的值.....