通过CreateProcess调用exe或cmd

转自:http://baike.baidu.com/link?url=P6O3HVB8YhYPSvy2LOs1ovoNPwh1-i_8P9ZY18nnNiAATotx7N1cw2rZvrNFEKKd


#include
#include
intmain(intargc, char *argv[])
{
charszCommandLine[]= "notepad" ;
STARTUPINFOsi={ sizeof (si)};
PROCESS_INFORMATIONpi;
si.dwFlags=STARTF_USESHOWWINDOW; //指定wShowWindow成员有效
si.wShowWindow=TRUE; //此成员设为TRUE的话则显示新建进程的主窗口
BOOLbRet=CreateProcess(
NULL, //不在此指定可执行文件的文件名
szCommandLine, //命令行参数
NULL, //默认进程安全性
NULL, //默认进程安全性
FALSE, //指定当前进程内句柄不可以被子进程继承
CREATE_NEW_CONSOLE, //为新进程创建一个新的控制台窗口
NULL, //使用本进程的环境变量
NULL, //使用本进程的驱动器和目录
&si,
&pi);
if (bRet)
{
//不使用的句柄最好关掉
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
printf ( "新进程的ID号:%d\n" ,pi.dwProcessId);
printf ( "新进程的主线程ID号:%d\n" ,pi.dwThreadId);
}
return0;
}

你可能感兴趣的:(C++)