zoukankan      html  css  js  c++  java
  • Qt 调用外部exe的方法

    近期做个快捷菜单,需要调用外部.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快捷方式的属性吧,目标文件里就有两个文件。

  • 相关阅读:
    11.tp5常见漏洞
    10.tp3常见漏洞
    1.linux分析排查
    3.docker镜像探究
    1.docker概述
    4.docker常用命令
    2.docker安装
    3.windows分析排查
    9.thinkphp框架模型
    2.win2k8搭建asp网站
  • 原文地址:https://www.cnblogs.com/Romi/p/2480374.html
Copyright © 2011-2022 走看看