很多人问,但无正确答案。CSDN也有人问,但CSDN的帖子过期就不能回复,所以别人有答案了也干着急。CSDN领导人脑袋长了肿瘤吧?
答案如下:
using namespace std;
STARTUPINFO si;
memset(&si, 0, sizeof(STARTUPINFO));//初始化si在内存块中的值(详见memset函数)
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOW;
PROCESS_INFORMATION pi;//必备参数设置结束
if (!CreateProcessW(TEXT("C:\\WINDOWS\\system32\\cmd.exe"),
TEXT("/k tclsh "),
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si,
&pi
)){
cout << "CreateFail!" << endl;
exit(1);
}
else{
cout << "Success!" << endl;
}
//不使用的句柄最好关掉
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
重点是CreateProcessW函数的第二个参数要带上/k参数!!!!!!!!!!!!
温馨提示:答案为网友推荐,仅供参考