等待另一个申请窗口
当显示另一个应用程序的窗口时,在我的应用程序中等待的最佳方法是什么(着眼于优化和使用系统资源)?
例如:
- 我的应用程序启动。
- 等待,例如, 记事本将启动,以便我可以获取其窗口的句柄。
- 使用句柄我可以做一些事情 然后关闭我的应用程序。
如何完成第2项?我只知道一种可能的方法:只需使用 FindWindow 检查循环中是否存在句柄。但我希望有一个更聪明的解决方案存在。
What is the best way (with a view to optimization and using system resources) to make waiting in my application when window of another app will be shown?
For example:
- My application starts.
- Waiting while, for example,
Notepad will be started so i can get handle of its window. - Using handle im doing something with
it and then closing my app.
How to accomplish item 2? I know only one possible way: just check if handle exists in loop using FindWindow
. But I hope there is a more smart solution exists.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您启动了该进程(使用
CreateProcess
),请使用WaitForInputIdle
,然后启动FindWindow
循环。在循环中添加Sleep(20)
或其他内容将确保您的资源使用量最小。If you launched the process (with
CreateProcess
) useWaitForInputIdle
and then start theFindWindow
loop. Adding aSleep(20)
or something to the loop will ensure your resource usage is minimal.我不这么认为...我认为最好的方法是 Windows 挂钩过程... 使用 HOOK
... 请参阅:WH_CBT 并且您必须观看该活动:HCBT_CREATEWND
I dont think the same... I think the best way is windows hooking process... USING HOOKS
... Please see: WH_CBT and you have to be watching the event: HCBT_CREATEWND