【问题标题】:How to end a process using C++? [duplicate]如何使用 C++ 结束进程? [复制]
【发布时间】:2012-09-14 12:15:51
【问题描述】:

我正在尝试创建一个结束进程的 C++ 程序。所以从头开始,我不太确定我应该朝哪个方向前进?我的意思是根据我所做的研究,解决方案涉及以下步骤(如果逻辑不正确,请告诉我):

  1. 获取进程名称(在我的情况下它始终是同一个)

  2. 遍历所有进程并找到匹配的名称(假设该进程具有唯一的名称)

  3. 获取 id 并终止它

正如我所提到的,我不必担心检查重复的进程名称,因为它假定是唯一的,但现在我需要关于我应该查看哪种库、类等的指导?

【问题讨论】:

标签: c++ winapi console process terminate


【解决方案1】:

使用TerminateProcess 函数。

【讨论】:

    【解决方案2】:

    请参阅 EnumProcesses 并研究进程句柄。

    将一个 pID 类型的空数组传递给 EnumProcesses,它将用所有当前正在运行的进程的 pID 填充它,因此请使用一个大数组。这样,您可以枚举所有正在运行的进程。

    使用 OpenProcess 获取与 PID 关联的句柄并调用 GetModuleFileNameEx 以获取其完全限定路径,以查看您正在查看的路径是否是您想要的路径。

    然后你可以在句柄上使用 TerminateProcess,如果它是你想要结束的那个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-16
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多