您的位置:首页 > 其它

演示等待通过CreateProcess创建的进程结束

2013-08-08 21:03 351 查看
功能:演示等待通过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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: