大佬教程收集整理的这篇文章主要介绍了windows – 使用ShellExecuteEx启动外部应用程序并等待它初始化,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Start(App1); If App1.IsRunning then Start(App2); If App2.IsRunning then Start(App3); ......................... If App(N-1).IsRunning then Start(App(N));
一切正常,但有一个可能的问题:
SHellExecuteEx启动应用程序,几乎立即返回.例如,当App1已正确启动但尚未完成某些内部任务时,可能会出现此问题,但尚未准备好使用.但是SHellExecuteEx已经启动依赖于App1的App2,并且App2无法正常启动,因为它需要完全初始化的App1.
请注意,我不想等待App(N-1)完成然后启动AppN.
我不知道这是否可以用SHellExecuteEx解决,我试过用
SEInfo.fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_NOASYNc;
但没有任何影响.
启动AppN应用程序后,我有一个进程的句柄.如果我假设应用程序在创建主窗口后初始化(所有应用程序都有一个窗口),我可以以某种方式在其消息队列上放置一个挂钩并等待WM_CREATE出现或者WM_ACTIVATE吗?在这种消息的存在下,我的应用程序会知道它可以继续前进.
这只是一个想法.但是,@R_950_6618@放这样的钩子.所以,如果你可以帮助我,或者你有一个更好的想法,那将是伟大的:)
此外,该@L_772_11@案必须适用于Windows XP及更高版本.
谢谢你的时间.
编辑
以上是大佬教程为你收集整理的windows – 使用ShellExecuteEx启动外部应用程序并等待它初始化全部内容,希望文章能够帮你解决windows – 使用ShellExecuteEx启动外部应用程序并等待它初始化所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。