gpt4 book ai didi

c++ - 从另一个exe运行exe并传递参数

转载 作者:行者123 更新时间:2023-11-28 04:52:24 60 4
gpt4 key购买 nike

我正在尝试制作一个调用另一个 .exe 并将参数传递给它的程序。我的案例是创建一个程序来打开两个 (dosbox.exe) 并将命令传递给它以运行可执行文件。我正在尝试自动化测试过程。我试过这样的代码

ShellExecute(NULL, "open", "C:\chat\DOSBox 0.74.lnk.exe", NULL, NULL, SW_SHOWDEFAULT);

但它甚至没有用。有帮助吗?

最佳答案

如何:std::system( "dosbox -c myCommand");(假设 dosbox.exe 和您的自定义 myCommand.exe 在你的路上)?

要在后台启动两个,请执行:

std::system( "start dosbox -c myCommand1" );
std::system( "start dosbox -c myCommand2" );
// Program has launched these in the background
// and continues execution here.

或者,您可以为每个 std::system() 调用启动一个线程:

auto cmd1 = std::async( [] { std::system( "dosbox -c myCommand1" ); } );
auto cmd2 = std::async( [] { std::system( "dosbox -c myCommand2" ); } );
// Program is launching these in the background
// and continues execution here.

您可能还想检查每个 std::system() 调用的返回值以确保它成功。


更新:您询问如何在位于另一个文件夹中的单个 dosbox 的前台运行两个命令。您可以像这样嵌入完整路径:

std::system( "c:\\MyDosBox\\dosbox.exe -c c:\\My\\Progams\\myCommand1.exe p1 p2 && c:\\Other\\myCommand2.exe p3 p4" );`

关于c++ - 从另一个exe运行exe并传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47873066/

60 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com