我正在尝试创建一个程序,它启动另一个.exe本身只是在其他程序启动后关闭。
我目前有以下代码:
#include <cstdlib>
int main( )
{
std::system( "checkpoint.exe" );
}
我可以启动checkpoint.exe
,但启动程序本身在checkpoint.exe
关闭之前不会关闭。我该如何解决这个问题?
答案 0 :(得分:4)
由于您似乎使用的是Windows,因此可以使用CreateProcess
LPSTARTUPINFO lpStartupInfo;
LPPROCESS_INFORMATION lpProcessInfo;
memset(&lpStartupInfo, 0, sizeof(lpStartupInfo));
memset(&lpProcessInfo, 0, sizeof(lpProcessInfo));
CreateProcess("checkpoint.exe"
NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
lpStartupInfo,
lpProcessInfo
)
答案 1 :(得分:1)
上一个答案有一些错误,所以这是一个有效的解决方案:
#include <cstdlib>
#include <Windows.h>
int main( )
{
STARTUPINFO lpStartupInfo;
PROCESS_INFORMATION lpProcessInfo;
ZeroMemory( &lpStartupInfo, sizeof( lpStartupInfo ) );
lpStartupInfo.cb = sizeof( lpStartupInfo );
ZeroMemory( &lpProcessInfo, sizeof( lpProcessInfo ) );
CreateProcess( "Program.exe",
NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
&lpStartupInfo,
&lpProcessInfo
);
return 0;
}