天天看點

bat執行exe程式帶參數_帶參數輸入的EXE檔案

        在大多數情況下,LabVIEW都是用來設計一個完整的獨立主程式在運作,然後也還有一些情況,需要編寫一些小型工具以配合其他軟體運作。這個時候,程式是一種“被調用”的狀态,處在從屬位置。也就需要提供二次開發的接口,常見的方式有如DLL,CLI(Command Line Interface)。本文講的就是第二種方式。

        兩步完成,第一步建立VI,第二步配置并生成EXE。

        第一步建立VI。如下圖所示,程式框圖中使用屬性節點,擷取應用程式—指令行參數(Application:Command Line Arguments)。

bat執行exe程式帶參數_帶參數輸入的EXE檔案

        第二步配置工程并生成帶參的可執行檔案。在項目中建立應用程式,将該vi作為啟動vi,同時在進階選項中将“傳遞所有指令行參數至應用程式”勾選中,然後生成exe程式。

        第一、二頁,正常設定,沒有什麼特别的地方,如下所示。設定檔案名以及路徑,主VI作為Startup VIs。

bat執行exe程式帶參數_帶參數輸入的EXE檔案
bat執行exe程式帶參數_帶參數輸入的EXE檔案

        最為關鍵的配置在“進階”頁籤,勾選上“傳輸所有指令行參數到應用程式”。其他頁籤如沒有特殊需求,按預設配置即可。

bat執行exe程式帶參數_帶參數輸入的EXE檔案

        下一步,我們驗證一下。首先,我們通過Windows的指令行執行這個EXE看看效果。如下圖所示,EXE檔案執行後,從CMD視窗輸入的參數也已經傳入到EXE檔案中,并執行了運算。

bat執行exe程式帶參數_帶參數輸入的EXE檔案

        另外,我們用LabVIEW本身的ExeC也能調用這個EXE,當然本質上跟上面的指令行視窗是一樣的。

bat執行exe程式帶參數_帶參數輸入的EXE檔案

        以上隻是做了最基礎的驗證與示範,實際應用中還有一些其他工作要做。比如視窗最小化,以及及時退出應用程式等等。

        最後總結一下缺陷。參數可以傳入,但是卻不能傳出。而且,實踐中感覺效率不高,LabVIEW的應用程式啟動還是比較慢的。對于一款小工具或者插件,參數隻能傳入,不能傳出,這顯然是個半殘廢狀态。作為一個開放話題,我們在下一篇裡聊聊。

參考資料

------

https://zone.ni.com/reference/zhs-XX/help/371361R-0118/lvhowto/launchingvifromcommandline/