在MFC中,我正在使用此代码
ShellExecute(NULL, _T("open"), _T(EXTERNAL_APP), params,
_T(EXTERNAL_PATH), SW_HIDE);
启动在后台运行的外部程序。
但是,当我的应用程序终止时,此程序仍在运行,可以通过检查Windows任务管理器窗格进行验证。
所以我的问题是,如何在我的应用停止时停止外部程序?
答案 0 :(得分:1)
请尝试使用ShellExecuteEx
,这可以返回新启动过程的HANDLE hProcess
。
当/如果你有一个HANDLE hProcess
那么我希望你可以将它作为参数传递给TerminateProcess
函数:你可以在应用程序停止之前调用它(以终止子进程)。