createprocess执行bat且等待bat结束代码
时间: 2023-07-09 12:13:43 浏览: 180
结束进程、等待进程结束实例代码
您可以使用Windows API中的CreateProcess函数来执行批处理文件,并使用WaitForSingleObject函数等待批处理文件执行完成。以下是示例代码:
```c++
#include <windows.h>
#include <tchar.h>
int _tmain(int argc, _TCHAR* argv[])
{
STARTUPINFO si = { sizeof(STARTUPINFO) };
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
ZeroMemory(&pi, sizeof(pi));
TCHAR szCmdline[] = _T("test.bat"); // 批处理文件的路径
if (CreateProcess(NULL, szCmdline, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
{
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
return 0;
}
```
在上面的代码中,我们首先声明了STARTUPINFO和PROCESS_INFORMATION结构体,分别表示启动信息和进程信息。然后使用CreateProcess函数执行批处理文件,并将进程信息保存到pi中。接着使用WaitForSingleObject函数等待批处理文件执行完成,直到进程结束。最后关闭进程和线程句柄,释放系统资源。
阅读全文