天天看點

示範等待通過CreateProcess建立的程序結束

功能:示範等待通過CreateProcess建立的程序結束
#include <stdio.h>
#include <Windows.h>

int main()
{
	STARTUPINFO si;
	PROCESS_INFORMATION pi;

	memset( &si, 0x00, sizeof(si) );
	si.cb = sizeof(si);
	memset( &pi, 0x00, sizeof(pi) );

	// Start the child process. 
	if ( CreateProcess( L"c:\\windows\\system32\\cmd.exe",   // No module name (use command line)
		NULL,        // 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
		&pi )
		)
	{
		DWORD oldTime =GetTickCount();
		DWORD dwRetun=0;
		WaitForSingleObject(pi.hProcess,INFINITE);
		DWORD newTime=GetTickCount();
		DWORD	dwTime=(newTime-oldTime)/1000;
		GetExitCodeProcess(pi.hProcess,&dwRetun);
		
		printf("程式運時長: dwTime = %d 退出時傳回值: %d\n", dwTime, dwRetun);
		getchar();
	}

	return 0;
}
           

繼續閱讀