CreateProcess失败的问题

【现象】

CreateProcess失败,总是返回998错误。

 

【原因】

STARTUPINFO si;

PROCESS_INFORMATION pi;

没有初始化。

 

【正确例子】

#include #include #include void _tmain( int argc, TCHAR *argv[] ) { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( π, sizeof(pi) ); if( argc != 2 ) { printf("Usage: %s [cmdline]/n", argv[0]); return; } // Start the child process. if( !CreateProcess( NULL, // No module name (use command line) argv[1], // Command line 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 π ) // Pointer to PROCESS_INFORMATION structure ) { printf( "CreateProcess failed (%d)/n", GetLastError() ); return; } // Wait until child process exits. WaitForSingleObject( pi.hProcess, INFINITE ); // Close process and thread handles. CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); }

你可能感兴趣的:(structure,inheritance,null,command,thread,module)