【发布时间】:2011-06-09 12:16:56
【问题描述】:
我正在用 c# 编写一些带有 win32 调用的软件,通过标题搜索窗口。当窗口出现时,我的软件会向它发送各种窗口消息,以自动执行我不想自己手动执行的重复活动。我发现有时发送的 WM 消息似乎没有被应用程序处理。我目前的理论是我的软件在实际创建应用程序消息循环之前发现了窗口并开始发送窗口消息。
有没有办法等到消息循环运行?
【问题讨论】:
标签: c# winapi message-queue
我正在用 c# 编写一些带有 win32 调用的软件,通过标题搜索窗口。当窗口出现时,我的软件会向它发送各种窗口消息,以自动执行我不想自己手动执行的重复活动。我发现有时发送的 WM 消息似乎没有被应用程序处理。我目前的理论是我的软件在实际创建应用程序消息循环之前发现了窗口并开始发送窗口消息。
有没有办法等到消息循环运行?
【问题讨论】:
标签: c# winapi message-queue
Process.WaitForInputIdle() 可能是一种解决方案。
导致 Process 组件等待 无限期地为相关 进程进入空闲状态。这 重载仅适用于进程 具有用户界面,因此, 一个消息循环。
【讨论】:
窗口消息从不得到处理吗?你被 UIPI 屏蔽了吗?
【讨论】: