CreateProcess函数

CreateProcess函数

CreateProcess

说明:WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。

具体使用方法,自行查找MSDN。

通过CreateProcess函数创建进程,并获取进程PID(By: cplusplus.me)。

[cpp]CString getPID(CString processname,CString parameters)
{
TCHAR awExecuteFile[1024];
PROCESS_INFORMATION pi;

STARTUPINFO si = { sizeof(STARTUPINFO),NULL,””,NULL,0,0,0,0,0,0,0,STARTF_USESHOWWINDOW,0,0,NULL,0,0,0};
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = TRUE;
si.lpDesktop = NULL;
memset(awExecuteFile, ‘\0’, 1024);
sprintf(awExecuteFile,”%s %s”,processname, parameters);

BOOL bResult = CreateProcess(
NULL,
awExecuteFile,
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi);
if(bResult)
{
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
CString pid;
pid.Format(“%d”,pi.dwProcessId);
return pid;
}
else
{
return “0”;
}
}[/cpp]