0
点赞
收藏
分享

微信扫一扫

c++ 运行cmd命令行

忍禁 2022-09-17 阅读 238

方法1:
bool CreateProcessCommand(const wchar_t* szCMD)
{
TCHAR szCommand[MAX_PATH] = { 0 };
wcscpy_s(szCommand, MAX_PATH, szCMD); PROCESS_INFORMATION pi;
STARTUPINFO si;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof STARTUPINFO;
si.wShowWindow = SW_HIDE;
si.dwFlags = STARTF_USESHOWWINDOW /* | STARTF_USESTDHANDLES */; // STARTF_USESTDHANDLES会导致lpCommandLine传递错误(原因未明)
BOOL res = CreateProcess(
NULL,
szCommand,
NULL,
NULL,
NULL,
NORMAL_PRIORITY_CLASS,
NULL,
NULL,
&si,
&pi);
if (res)
{
WaitForSingleObject(pi.hProcess, 2000);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
return true;
}方法2:
WinExec(strCmdLine.c_str(), SW_HIDE);

举报

相关推荐

0 条评论