OO-*_*SKY 2 c++ executable qt qprocess
我想在我的Qt应用程序中按下按钮时启动可执行文件.它.exe始终与Qt应用程序本身位于同一目录中.
有时在此目录的路径中有空格.这似乎阻止了它.exe的启动.
这是我的代码(似乎不起作用):
QString path = QCoreApplication::applicationDirPath ();
path.append("/executable.exe");
QProcess process;
process.execute(path);
Run Code Online (Sandbox Code Playgroud)
我不知道是否可以先启动.exe而不显示命令提示符.当.exe正在运行时,我必须关闭Qt应用程序,同时.exe继续运行.
execute(QString)对可执行路径和参数使用单个字符串.如果没有合适的报价,C:\A path with spaces\foo.exe将被解释为c:\A为可执行path,with spaces\foo.exe作为参数.
要避免这种情况,请使用将execute(QString, QStringList)参数作为单独的字符串列表的重载,即使您根本不想传递参数:
QProcess::execute(path, QStringList());
Run Code Online (Sandbox Code Playgroud)
这样做是正确的,不需要任何引用.
| 归档时间: |
|
| 查看次数: |
2324 次 |
| 最近记录: |