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快捷方式的屬性吧,目標文件里就有兩個文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM