等待另一个应用程序窗口

Posted

技术标签:

【中文标题】等待另一个应用程序窗口【英文标题】:Waiting for another application window 【发布时间】:2011-03-03 23:37:17 【问题描述】:

在显示另一个应用程序的窗口时,让我的应用程序等待的最佳方式是什么(以优化和使用系统资源)?

例如:

    我的应用程序启动。 等待,例如, 记事本将启动,以便我可以处理它的窗口。 使用句柄即时做某事 然后关闭我的应用程序。

如何完成第2项?我只知道一种可能的方法:只需使用FindWindow 检查句柄是否存在于循环中。但我希望有更聪明的解决方案存在。

【问题讨论】:

【参考方案1】:

如果您启动了进程(使用CreateProcess),请使用WaitForInputIdle,然后启动FindWindow 循环。在循环中添加Sleep(20) 或其他内容将确保您的资源使用最少。

【讨论】:

【参考方案2】:

我不这么认为...我认为最好的方法是 windows 挂钩过程...USING HOOKS

...请参阅:WH_CBT,您必须正在观看活动:HCBT_CREATEWND

【讨论】:

以上是关于等待另一个应用程序窗口的主要内容,如果未能解决你的问题,请参考以下文章

等待另一个 Windows 进程重绘其主窗口的可靠方法

AutoIt 等待控制元素出现

如何在窗口之间交互_以实现一个确认框为例

命令行窗口内,如何执行一个程序并等待结果

启动过程 - 等待不工作

使用 Win32/MFC 关闭并等待子框架窗口的最佳方法