0.前言
开发一个小应用过程中,需要调用一个.bat实现文件的处理。在网上搜了下实现方式后自己实现了下,现在把代码记录如下
1.代码实现
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
PROCESS_INFORMATION pi;
STARTUPINFO si;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
si.hStdInput = GetStdHandle(STD_INPUT_HANDLE);
if (CreateProcess(L"RUN_TEST.bat",// RUN_TEST.bat位于工程所在目录下
NULL,
NULL,
NULL,
FALSE,
CREATE_NO_WINDOW,// 这里不为该进程创建一个控制台窗口
NULL,
NULL,
&si, &pi))
{
WaitForSingleObject(pi.hProcess, INFINITE);// 等待bat执行结束
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
return 0;
}
2.参考文章
http://blog.csdn.net/jeakon/article/details/8544964 使用CreateProcess创建进程
http://blog.csdn.net/oilcode/article/details/50320147 在C++代码中执行bat文件