首页 > 解决方案 > 如何在 C++ 中关闭另一个应用程序?

问题描述

我想在它们运行时使用 c++ 程序关闭我的 txt 文件或 chrome。我们能做到这一点ShellExecute(NULL, "open", "C://File Path" , NULL, NULL, SW_SHOWNORMAL);SendMessage(WM_CLOSE)?如果是,比怎么样?

标签: c++winapi

解决方案


我建议您可以按照以下步骤操作:

  1. 使用EnumProcesses 函数获取所有 ProcessID 的数组。

  2. 对于每个 ProcessID,使用OpenProcess打开并获取每个进程的句柄。使用PROCESS_QUERY_INFORMATION | PROCESS_TERMINATE访问权限。如果进程没有打开,那么你没有权限关闭它,它可能是一个系统进程。

  3. 如果进程已成功打开,使用 GetModuleBaseName 获取进程的名称。

  4. 如果名称匹配,则使用TerminateProcess终止进程。


推荐阅读