我想制作一个小型 Qt 应用程序,以便能够使用 -login 登录密码作为启动选项在 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 support documentation .您必须将用户名和密码作为单独的参数传递,因此
QStringList arg = QStringList() << "-login" << "123" << "123";
而不是QStringList arg; arg << "-launch 123 123";
.
关于c++ - QProcess 无法传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34615439/