CreateProcess函数的最后一个参数是一个指向PROCESS_INFORMATION结构体的指针,该结构的成员可以保存被创建进程的ID和句柄。
新建按钮资源
typedef struct _PROCESS_INFORMATION {
HANDLE hProcess; //进程的句柄
HANDLE hThread; //主线程的句柄
DWORD dwProcessId; //进程ID
DWORD dwThreadId; //主线程ID
} PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
CreateProcess函数的最后两个参数都是指针,因此我们在使用时,要先定义STARTUPINFO和PROCESS_INFORMATION类型的变量,并使用ZeroMemory函数将其成员初始化。ZeroMemory函数可以将一段内存中的数据初始化为0.
PROCESS_INFORMATION pro_info; //进程信息
STARTUPINFO sti; //启动信息
//......
// 初始化两个结构体
ZeroMemory(&pro_info, sizeof(PROCESS_INFORMATION));
ZeroMemory(&sti, sizeof(STARTUPINFO));
接着调用CreateProcess创建进程.
CreateProcess(L"C:\\Windows\\System32\\calc.exe",NULL,NULL,NULL