有什么方法可以让一个线程分支到它自己的独立进程中?我知道有CreateProcess函数,但据我所知,你只能用它运行外部应用程序。我可能要求的是什么?
答案 0 :(得分:4)
有可能。
您可以使用虚拟应用程序和CREATE_SUSPENDED标志调用CreateProcess,以便它不会立即运行。然后,您可以使用VirtualAllocEx在创建的进程中分配内存空间,并使用WriteProcessMemory将代码和数据写入其中。然后取消暂停进程来运行它。
您还可以使用CreateRemoteThread创建在另一个现有流程的上下文中运行的流程。
所以你想要做什么是可能的,但在windows环境中做这件事并不是一件简单的事情,所以你必须有一个非常好的理由去做。< / p>
答案 1 :(得分:3)
在Windows下这是不可能的。在Posix平台上,fork()
可以实现预期的效果。