test.exe #include<stdio.h> #include<string.h> int main(int argc, char* argv[]) { return 0; } 获取test.exe的返回值 #include "stdafx.h" #include "windows.h" int main(int argc, char* argv[]) { DWORD dwExitCode = -1; STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( &pi, sizeof(pi) ); // Start the child process. if( !CreateProcess( "E://test.exe", // an exe file. "hello.txt", // parameter for your exe file. NULL, // Process handle not inheritable. NULL, // Thread handle not inheritable. FALSE, // Set handle inheritance to FALSE. 0, // No creation flags. NULL, // Use parent's environment block. NULL, // Use parent's starting directory. &si, // Pointer to STARTUPINFO structure. &pi ) // Pointer to PROCESS_INFORMATION structure. ) { MessageBox(NULL, "CreateProcess failed.","ERROR",NULL ); } // Wait until child process exits. WaitForSingleObject( pi.hProcess, INFINITE ); GetExitCodeProcess(pi.hProcess,&dwExitCode); printf("Exit code : %d/n",dwExitCode); // Close process and thread handles. CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); return 0; }