这是一个简单的进程创建实例,结果是打开C盘路径下的mspaint.exe(画图程序),如果对其中函数有不理解的可以看我另一篇博客进程相关函数汇总解释,对照着看,可能方便你理解
#include<Windows.h>
#include<cstdio>
#include <tchar.h>
int main()
{
STARTUPINFO si; //STARTUPINFO用于指定新进程的主窗口特性的一个结构。
PROCESS_INFORMATION pi;//在创建进程时相关的数据结构之一,该结构返回有关新进程及其主线程的信息。
ZeroMemory(&si, sizeof(si)); /*分配内存*/
si.cb = sizeof(si);
ZeroMemory(&pi,sizeof(pi));
//CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。
if (!CreateProcess(_T("C:\\Windows\\System32\\mspaint.exe"),NULL,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi))
{
fprintf(stderr, "Creat Process Failed");
return -1;
}
WaitForSingleObject(pi.hProcess,INFINITE);// hProcess:返回新进程的句柄,系统常量INFINITE Timeout时间无限
printf("child Complete");
CloseHandle(pi.hProcess);// hProcess:返回新进程的句柄
CloseHandle(pi.hThread);// hThread:返回主线程的句柄
return 0;
}