首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C++用于启动多个命令提示的System()替代方案.WINAPI(无MFC)

在C++中,使用system()函数可以启动一个命令提示符窗口并执行相应的命令。然而,如果你想要同时启动多个命令提示符窗口并执行不同的命令,system()函数是不能满足需求的。

为了实现这个功能,你可以使用Windows API中的CreateProcess()函数。下面是一个使用CreateProcess()函数启动多个命令提示符窗口并执行不同命令的示例:

代码语言:cpp
复制
#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()函数来启动多个命令提示符窗口并执行不同的命令。你可以根据自己的需求进行修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券