您可以使用 CreateProcess 函数来执行 CMD 命令,并且等待执行完毕后继续执行其他代码。
下面是一个示例代码[C++] 纯文本查看 复制代码 #include <Windows.h>
#include <iostream>
int main()
{
// 创建一个新的进程
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
// 在新进程中执行 CMD 命令
const char* command = "cmd.exe /C ping 192.168.1.1 -n 20 > D:\\ping.txt";
if (!CreateProcess(NULL, const_cast<char*>(command), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
{
std::cerr << "CreateProcess failed: " << GetLastError() << '\n';
return 1;
}
// 等待进程结束
WaitForSingleObject(pi.hProcess, INFINITE);
// 关闭句柄
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
std::cout << "CMD command finished\n";
return 0;
}
在这段代码中,使用 CreateProcess 函数创建了一个新的进程,并在新进程中执行了 CMD 命令。然后使用 WaitForSingleObject 函数等待新进程结束,最后关闭句柄。这样就可以保证 CMD 命令在程序中执行完毕后再继续执行其他代码。
请注意,在使用 CreateProcess 函数时需要包含 Windows.h 头文件。 |