在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));调用CreateProcess函数启动程序: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平台上启动一个新的进程。


