我想在c++代码中执行磁盘上的一个bat文件。
这个bat文件的完整路径是:E:\\7z\\my7z.bat。
方法一:
system("E:\\7z\\my7z.bat");
system是C标准库中的函数。
方法二:
WinExec("E:\\7z\\my7z.bat", SW_HIDE);
WinExec是 Windows.h 中的函数。
方法三:
PROCESS_INFORMATION pi;
STARTUPINFO si;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
si.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
if (CreateProcess(NULL,
(LPTSTR)cmd,
NULL,
NULL,
FALSE,
CREATE_NO_WINDOW,
NULL,
NULL,
&si, &pi))
{
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
创建了一个进程来执行bat文件,新进程是一个console窗口。CREATE_NO_WINDOW表示不要显示console窗口。