我想在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窗口。