如何确保其他应用程序处理PostMessage?

时间:2016-10-18 06:09:46

标签: winapi visual-c++ sendmessage win32gui

我的app1 PostMessage WM_LBUTTONDOWN和WM_LBUTTONUP到app2(第三方),它处于不同的过程中。

如何确保app1在app1中处理这些消息,app1中的逻辑取决于PostMessage之后这些消息的结果。

这是app1的伪代码

PostMessage(app2Handle, WM_LBUTTON_DOWN, 0, lParam);
PostMessage(app2Handle, WM_LBUTTON_UP, 0, lParam);
// How to ensure above messages has been handled by app2 here?

1 个答案:

答案 0 :(得分:1)

PostMessage()异步工作。它只是将消息放入目标窗口的消息队列中,然后立即退出。处理邮件时没有通知。如果您需要知道这一点,可以尝试使用SetWindowsHookEx()中的消息钩子来监视目标窗口的消息队列和/或窗口过程的活动。或者,如果鼠标消息在窗口中导致此类单击/选择操作,您可以使用SetWinEventHook()来接收EVENT_OBJECT_INVOKEDEVENT_OBJECT_SELECTION...等事件。