[英]C++ Start another program and exit
我正在嘗試創建一個程序,在該程序中啟動另一個.exe,而在另一個程序啟動后,它本身便關閉。
我目前有以下代碼:
#include <cstdlib>
int main( )
{
std::system( "checkpoint.exe" );
}
我可以啟動checkpoint.exe
,但是啟動程序本身不會關閉,直到checkpoint.exe
關閉。 我該如何解決?
由於您似乎正在使用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
)
先前的答案有一些錯誤,因此這是一個可行的解決方案:
#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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.