首页 > 解决方案 > 如何在 Windows ( C++ ) 中创建进程以运行另一段代码?

问题描述

我正在尝试在一个简单的 cpp 程序中创建一个进程,并希望在此进程中从不同的源文件运行另一段代码。我找到了CreateProcess允许我们创建进程的 Windows API,但它似乎只需要 exe 文件来执行。有没有办法在windows中创建一个进程并提供一个函数等来由它执行,类似于线程?

PS:我不是在寻找基于线程的解决方案,因为我想用进程和共享内存来测试一些东西。

标签: c++windowsprocessmultiprocess

解决方案


有没有办法在windows中创建一个进程并提供一个函数等来由它执行,类似于线程?

不,但是你可以做的是让你的程序运行另一个自身的副本,传递命令行参数告诉它需要做什么。您可以使用GetModuleFileName()获取当前进程的 EXE 文件的完整路径。然后,在您的main()/WinMain()中,如果存在任何命令行参数,请运行相应的函数然后退出,否则正常运行您的主逻辑。


推荐阅读