如何终止使用ShellExecute启动的程序

时间:2012-11-12 19:26:01

标签: c++ windows process mfc shellexecute

在MFC中,我正在使用此代码

ShellExecute(NULL, _T("open"), _T(EXTERNAL_APP), params, 
             _T(EXTERNAL_PATH), SW_HIDE);

启动在后台运行的外部程序。

但是,当我的应用程序终止时,此程序仍在运行,可以通过检查Windows任务管理器窗格进行验证。

所以我的问题是,如何在我的应用停止时停止外部程序

1 个答案:

答案 0 :(得分:1)

请尝试使用ShellExecuteEx,这可以返回新启动过程的HANDLE hProcess

当/如果你有一个HANDLE hProcess那么我希望你可以将它作为参数传递给TerminateProcess函数:你可以在应用程序停止之前调用它(以终止子进程)。