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

标签 c++ windows process mfc shellexecute

在MFC中,我正在使用这段代码

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

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

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

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

最佳答案

尝试使用ShellExecuteEx,它可以返回新启动进程的HANDLE hProcess

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

关于c++ - 如何终止使用 ShellExecute 启动的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13350140/

相关文章:

c++ - C3681 标识符未找到

windows - 在另一个 Windows 终端 session 中运行

c - 如何从共享内存段中获取数据?

c++ - 使用Blinn-Phong计算raytracer上像素的漫反射rgb,值

c++ - 断言失败时如何打印附加信息?

c++ - 如何在不知道 C++ 基类名称的情况下调用子类中基类的成员?

在 Cygwin 软件包列表中找不到 Openssl

windows - 卷未使用docker-compose在Windows的docker工具箱上安装

linux - 单处理器与双核系统上的进程状态

c - 从同一目录杀死进程