STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
ZeroMemory(&pi, sizeof(pi));
if (CreateProcess(
NULL, // 指向一个NULL结尾的、用来指定可执行模块的宽字节字符串
"python my.py para1 para2 para3",//命令行字符串 ,需要把python的安装目录添加到系统路径
NULL, //指向一个SECURITY_ATTRIBUTES结构体,这个结构体决定是否返回的句柄可以被子进程继承
NULL, //如果lpProcessAttributes参数为空(NULL),那么句柄不能被继承。
FALSE, //指示新进程是否从调用进程处继承了句柄。
CREATE_NEW_CONSOLE,// 指定附加的、用来控制优先类和进程的创建的标志
// CREATE_NEW_CONSOLE 新控制台打开子进程
// CREATE_SUSPENDED 子进程创建后挂起,直到调用ResumeThread函数
NULL, // 指向一个新进程的环境块。如果此参数为空,新进程使用调用进程的环境
NULL, // 指定子进程的工作路径
&si, // 决定新进程的主窗体如何显示的STARTUPINFO结构体
&pi)) // 接收新进程的识别信息的PROCESS_INFORMATION结构体
{
cout << "Success to create a new process!";
}
else{
cout << "Fail to create a new process! An error exits!";
}