阅读背景:

windows运行一个程序并等待其结束。

来源:互联网 
DWORD CreateProcess ( LPCTSTR lpAppPath, LPTSTR lpCmdLine, LPCTSTR lpCurDir)
{
	STARTUPINFO startupInfo;
	PROCESS_INFORMATION	processInformation;	
	ZeroMemory( &startupInfo, sizeof( STARTUPINFO ));
	startupInfo.cb = sizeof( STARTUPINFO );
	ZeroMemory( &processInformation, sizeof( PROCESS_INFORMATION ));

	DWORD dwExitCode = DWORD(-1);
	if ( ::CreateProcess(	lpAppPath,					// lpszImageName
		lpCmdLine,							// lpszCommandLine
		0,									// lpsaProcess
		0,									// lpsaThread
		FALSE,								// fInheritHandles
		CREATE_SUSPENDED,					// fdwCreate
		0,									// lpvEnvironment
		lpCurDir,							// lpszCurDir
		&startupInfo,						// lpsiStartupInfo
		&processInformation					// lppiProcInfo
		))
	{
		::ResumeThread(processInformation.hThread); 

		WaitForSingleObject( processInformation.hProcess, INFINITE );

		GetExitCodeProcess( processInformation.hProcess, &dwExitCode );
	}
	else
	{
		dwExitCode = GetLastError();
	}

	return dwExitCode;
}DWORD CreateProcess ( LPCTSTR lpAppPath, LPTSTR



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: