PROCESS_INFOMATION结构
PROCESS_INFOMATION结构
typedef struct{
HANDLE hProcess; //新建进程的内核句柄
HANDLE hThread; //新建进程中主线程的内核句柄
DWORD dwProcessId; //新建进程的ID
DWORD dwThreadId; //新建进程主线程ID
}PROCESS_INFOMATION,*LPPROCESS_INFOMATION;
PROCESS_INFOMATION结构主要在新建进程函数CreateProcess中使用用来返回新建进程的相关信息。
例子:
int main(int argc,char* argv[])
{
char szCommandLine[] = "cmd";
STARTUPINFO si = {sizeof(si)};
PROCESS_INFOMATION pi; // 创建PROCESS_INFOMATION实例
si.dwFlags = START_USESHOWWINDOW;
si.wShowWindow = TRUE;
BOOL bRet = ::CreateProcess(
NULL,
szCommandLine,
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi); // 用pi返回新建进程的相关信息
if(bRet)
{
::CloseHandle(pi.hThreadId);
::CloseHandle(pi.hProcessId);
printf("新建进程的进程ID号:%d
",pi.dwProcessId);
printf("新建进程的主线程ID号:%d
",pi.dwThreadId);
}
return 0;
}