在C++中,使用system()
函数可以启动一个命令提示符窗口并执行相应的命令。然而,如果你想要同时启动多个命令提示符窗口并执行不同的命令,system()
函数是不能满足需求的。
为了实现这个功能,你可以使用Windows API中的CreateProcess()
函数。下面是一个使用CreateProcess()
函数启动多个命令提示符窗口并执行不同命令的示例:
#include<Windows.h>
#include <TlHelp32.h>
#include<iostream>
#include<string>
int main() {
// 创建第一个命令提示符窗口
STARTUPINFO si1;
PROCESS_INFORMATION pi1;
ZeroMemory(&si1, sizeof(si1));
ZeroMemory(&pi1, sizeof(pi1));
si1.cb = sizeof(si1);
std::string cmd1 = "cmd.exe /c echo Hello, World!";
CreateProcess(NULL, (LPSTR)cmd1.c_str(), NULL, NULL, FALSE, 0, NULL, NULL, &si1, &pi1);
// 创建第二个命令提示符窗口
STARTUPINFO si2;
PROCESS_INFORMATION pi2;
ZeroMemory(&si2, sizeof(si2));
ZeroMemory(&pi2, sizeof(pi2));
si2.cb = sizeof(si2);
std::string cmd2 = "cmd.exe /c echo Welcome to the world of C++!";
CreateProcess(NULL, (LPSTR)cmd2.c_str(), NULL, NULL, FALSE, 0, NULL, NULL, &si2, &pi2);
// 等待进程结束
WaitForSingleObject(pi1.hProcess, INFINITE);
WaitForSingleObject(pi2.hProcess, INFINITE);
// 关闭进程和线程句柄
CloseHandle(pi1.hProcess);
CloseHandle(pi1.hThread);
CloseHandle(pi2.hProcess);
CloseHandle(pi2.hThread);
return 0;
}
在这个示例中,我们使用了CreateProcess()
函数来创建两个命令提示符窗口,并分别执行了不同的命令。注意,我们需要等待进程结束,然后再关闭进程和线程句柄。
这个示例展示了如何使用CreateProcess()
函数来启动多个命令提示符窗口并执行不同的命令。你可以根据自己的需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云