C++线程分离进程

Ili*_*oly 2 c++ windows multithreading process

有什么办法可以让一个线程分支到它自己的独立进程中吗?我知道有 CreateProcess 函数,但据我所知,您只能用它运行外部应用程序。我所要求的到底有可能吗?

jco*_*der 5

有可能的。

您可以使用虚拟应用程序和 CREATE_SUSPENDED 标志来调用 CreateProcess,这样它就不会立即运行。然后,您可以使用VirtualAllocEx在创建的进程中分配内存空间,并使用WriteProcessMemory向其中写入代码和数据。然后取消挂起该进程以运行它。

您还可以使用 CreateRemoteThread 创建在另一个现有进程的上下文中运行的进程。

所以你想要做的事情可能的,但是在 Windows 环境中这确实不是一件简单的事情,所以你必须有一个非常好的理由想要这样做。