我想在Windows上用C调用程序并立即关闭主程序。我尝试过像这样使用system()
:
system("SecondaryProgram.exe");
return 0;
但是“来电者”程序总是等待SecondaryProgram.exe
完成。我想避免这种情况,并在“被叫”程序关闭之前立即返回0,比如在“另一个线程”中打开它。还有其他功能吗?
答案 0 :(得分:0)
使用 CreateProcess ()API。当它成功启动另一个进程时,它将返回一个句柄,您可以根据需要使用该句柄等待进程完成或不完成。
答案 1 :(得分:0)
通常,Windows编译器支持execXXX
和spawnXXX
函数。所以这样的事情应该有效:
#include <process.h>
...
spawnl(P_NOWAIT, "prog.exe", "prog.exe", NULL);
exit(0);
答案 2 :(得分:0)
system("cmd.exe /C SecondaryProgram.exe");
但是你可能会有一个DOS框,直到SecondaryProgram结束。