在Windows平臺上使用CreateProcess函數啟動程序,可以按照以下步驟:
#include <windows.h>
#include <tchar.h>
TCHAR szCmdline[] = _T("path_to_executable"); // 可執行文件的路徑
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
if (!CreateProcess(NULL, // 不使用可執行文件的名稱
szCmdline, // 可執行文件的路徑
NULL, // 安全描述符
NULL, // 安全描述符
FALSE, // 繼承句柄
0, // 標志
NULL, // 使用當前的環境變量
NULL, // 使用當前的工作目錄
&si, // STARTUPINFO
&pi)) // PROCESS_INFORMATION
{
// 創建進程失敗
printf("CreateProcess failed (%d).\n", GetLastError());
return;
}
// 等待進程結束
WaitForSingleObject(pi.hProcess, INFINITE);
// 獲取進程的退出代碼
DWORD dwExitCode;
GetExitCodeProcess(pi.hProcess, &dwExitCode);
printf("Child process exited with code %d\n", dwExitCode);
// 關閉進程和線程的句柄
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
通過以上步驟,您可以使用CreateProcess函數在Windows平臺上啟動一個新的進程。