Qt 调用外部exe的方法

Qt 调用外部exe的应用程序时,可分为阻塞和非阻塞(本节主要讲非阻塞,即想调用哪个程序就调用哪个程序)。

方法如下:

使用Qprocess的startDetached()方法,当前程序关闭时,调用的外部程序能够照常运行。

#include <QProcess>
QProcess::startDetached("E:\\Qt\\qtcreator-2.4.1\\bin\\qtcreator.exe",QStringList());

这时在Windows系统下,所以路径采用的是\\。

需要注意的是startDetached()函数的参数(参见http://qt-project.org/doc/qt-4.8/qprocess.html#startDetached-2),第一个参数是外部exe路径,当exe路径中含有空格时,就需要用到第二个参数,如果外部应用程序只需要exe这一个就可以打开时,第二个参数写成QStringList()就可以了。

当外部应用程序出了exe还需要其他的文件才能打开时那么将其他文件路径写进QStringList()中。例如ENVI软件:

QProcess::startDetached(tr("E:\\Study Program\\ITT\\IDL71\\bin\\bin.x86\\idlrt.exe"),QStringList("E:\\Study Program\\ITT\\IDL71\\lib\\hook\\envi.sav"));

如果只要前面的exe那是打不开的,还需要加上第二个参数。看看envi快捷方式的属性吧,目标文件里就有两个文件。


  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值