【发布时间】:2011-03-03 23:37:17
【问题描述】:
在显示另一个应用程序的窗口时,让我的应用程序等待的最佳方式是什么(以优化和使用系统资源)?
例如:
- 我的应用程序启动。
- 等待,例如, 记事本将启动,以便我可以处理它的窗口。
- 使用句柄即时做某事 然后关闭我的应用程序。
如何完成第2项?我只知道一种可能的方法:只需使用FindWindow 检查句柄是否存在于循环中。但我希望有更聪明的解决方案存在。
【问题讨论】:
在显示另一个应用程序的窗口时,让我的应用程序等待的最佳方式是什么(以优化和使用系统资源)?
例如:
如何完成第2项?我只知道一种可能的方法:只需使用FindWindow 检查句柄是否存在于循环中。但我希望有更聪明的解决方案存在。
【问题讨论】:
如果您启动了进程(使用CreateProcess),请使用WaitForInputIdle,然后启动FindWindow 循环。在循环中添加Sleep(20) 或其他内容将确保您的资源使用最少。
【讨论】:
我不这么认为...我认为最好的方法是 windows 挂钩过程...USING HOOKS
...请参阅:WH_CBT,您必须正在观看活动:HCBT_CREATEWND
【讨论】: