暂停执行远程进程(C,Windows)

我可以通过使用SuspendThread()挂起另一个进程的线程。 有什么办法可以暂停执行这个过程? 如果是的话,请张贴代码。

谢谢。

PS:既然你会问“为什么你要这样做”我会在这里发布。 我正在处理不再被维护的传统软件。 我没有访问源代码。 现在我需要它暂停,直到一个文件充满数据,然后恢复执行。

唯一的办法是暂停该进程的所有线程。

如果你想看到实际的代码,请查看这里的示例。

>唯一的办法是暂停该进程的所有线程。

没有。
使用未记录的内核apis(自NT 3.1以后导出)暂停Pid。

如果进程拥有或产生许多线程快速或异步,您的主题与SuspendThread()竞争条件。

一种完成同样事情的方法(即过程范围)是使用DebugActiveProcess()作为调试器附加到目标进程,然后调用DebugBreakProcess 。 当进程处于中断点时,将不会创建新线程,并且所有执行都将停止。