【发布时间】:2014-10-26 04:26:33
【问题描述】:
我遇到的问题是,在发布一些 WM_KEYDOWN/WM_KEYUP 消息后,我需要使用 Thread.Sleep 至少 200 毫秒,然后才能发布 WM_LMOUSEDOWN/WM_LMOUSEUP 消息。如果我不这样做,接收者会首先处理鼠标单击,这意味着较早的击键会转到目标句柄的错误位置。 我不能使用 SendMessage,因为收件人忽略了 WM_KEYDOWN/WM_KEYUP。
有什么方法可以等待 PostMessage 被处理?
【问题讨论】:
-
你为什么要伪造输入?
-
呃,UI自动化有UIAutomation
-
不,我正在编写的应用程序应该能够与任何 gui 一起使用,例如flash 或 java 应用程序.. 为什么这很重要?
-
有人想知道为什么目标应用程序会乱序处理排队的消息
-
没错。这就是我问这个问题的原因。
标签: c# winapi message-queue