windows下Qt 調用外部exe的方法

來源:互聯網
上載者:User

原文出處:http://www.cnblogs.com/Romi/archive/2012/05/03/2480374.html

調用外部應用程式時分為阻塞和非阻塞,這裡採用非阻塞,因為想調用哪個程式就調用哪個程式嘛。

方法如下:

使用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捷徑的屬性吧,目標檔案裡就有兩個檔案。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.