【发布时间】:2014-11-19 21:47:19
【问题描述】:
是否可以通过任何方式强制暂时暂停外部程序的执行?或者具有类似效果的东西。
我见过这个,这是我的华硕笔记本电脑曾经附带的第 3 方软件,但我很想知道他们是如何管理它的。
【问题讨论】:
-
什么操作系统?本质上在 C++ 中无法做到这一点,这取决于您可用的 API。通常尝试暂停另一个进程是一个坏主意,您的选择是重新确定优先级或完全终止它。如果这个其他进程有某种方式表明它应该停止做它正在做的事情,那将是另一种方法。
-
Windows,但是他们可能有一个驱动程序或其他东西可以让他们访问这些。但我还是很好奇。
-
您需要支持哪些 Windows 版本?如果进程在停止时变得“无响应”,可以吗?通常这种事情被认为有点虐待,程序员不会设计他们的程序被别人劫持,所以你可能会得到意想不到的行为。
-
您可能可以使用任何平台的操作系统工具来执行此操作。但这可能更像是一种 hack,而不是有意放入 API 中的东西。
-
使用 0 调用 SetProcessAffinityMask 作为掩码。