簡體   English   中英

C ++啟動另一個程序並退出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM