在MFC程序中怎么打开CMD命令窗口,运行一些代码

如题所述

很多人问,但无正确答案。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参数!!!!!!!!!!!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-01
你是想使用批处理命令?调用cmd可以使用“system();”来调用。你查查mfc system就能找到很多与之相关的资料,自己尝试着写一下,慢慢摸索,很快就会用了。调用批处理可以使用Run()命令。本回答被提问者和网友采纳