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