QProcess无法传递参数
QProcess fails to pass the arguments
我想制作一个小型的Qt应用程序,以便能够使用-login-login-passsword作为启动选项在steam帐户之间快速切换。问题是,我无法使用带有所需参数的Qt应用程序运行steam.exe。这是一个代码:
QString path("C:\Program Files (x86)\Steam");
QStringList arg;
arg << "-launch 123 123";
QString item = arg.takeAt(0);
QString res("Steam.exe");
QString program = """ + path + "/" + res + """;
QProcess* process = new QProcess();
process->startDetached(program, arg);
问题中的代码有3个问题:
-
此处为
QString item = arg.takeAt(0);
takeAt(0)
从arg
列表中删除您的参数。因此,当您将arg
传递给startDetached
时,它已经是空的。 -
您需要使用
-login
而不是-launch
作为命令行参数。请参阅Steam支持文档。 -
您必须将用户名和密码作为单独的参数进行传递,因此
QStringList arg = QStringList() << "-login" << "123" << "123";
而不是QStringList arg; arg << "-launch 123 123";
。
我的解决方案是:
QStringList arg;
arg << "-login";
arg << "123";
arg << "123";
而不是:
arg << "-launch 123 123";
相关文章:
- 如何反转整数参数包
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 如何使用默认参数等选择模板专业化
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 函数调用中参数的顺序重要吗
- 部分定义/别名模板模板参数
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 使用qprocess将参数传递给批处理
- 如何使用 QProcess 设置参数以运行类文件?
- Qt:无法对类型为"QProcess::P rocessError"的参数进行排队 - QProcess::P rocessError(FailedToStart)
- Qt5 QProcess 处理具有"special"字符的参数
- 如果与 QProcess 一起传递,则无法识别参数
- QProcess 将参数传递给 python 脚本
- QProcess启动过程(搅拌机.exe)具有多个参数
- 来自QProcess的GNU查找-无法使用exec参数
- QProcess无法传递参数
- 在参数列表中使用绝对路径启动QProcess