C 呼叫外部exe程式,出現已停止工作

2022-08-12 12:06:15 字數 872 閱讀 6471

1.在乙個專案中,乙個library 呼叫另外乙個library的可執行檔案時,如果用process.start(exe檔案)(如果該exe檔案沒有相關的配置檔案,則可以執行成功),但是如果有相關的配置檔案,則會出現該exe檔案已停止工作的錯誤提示。出現這樣的原因是這樣的,本身呼叫的時候,目錄是自己bin/debug資料夾的路徑,之後你設定其他路徑的時候,就會出現錯誤,可以用cmd除錯測試下,直接開啟cmd,將exe要呼叫的程式放入cmd中執行,看是否出錯,如果不出錯,那麼使用process.start("exe檔案")呼叫也沒問題的,如果出錯,則是路徑的問題。

解決方法:程式操作cmd來呼叫exe程式,先cd到exe程式的所在目錄 

**如下:

process p = new process();//

新程序 p.startinfo.filename = "

cmd.exe

";//

開啟cmd程式

p.startinfo.useshellexecute = false;//

不使用shell啟動程式

p.startinfo.redirectstandardinput = true

; p.startinfo.redirectstandardoutput = true

; p.startinfo.redirectstandarderror = true

; p.startinfo.createnowindow = true;//

true表示不顯示黑框,false表示顯示dos介面

try

catch

(exception ex)

c 呼叫外部exe程式

c 呼叫外部exe程式,首先要 using system.diagnostics 然後開啟乙個新process system.diagnostics.processstartinfo p null system.diagnostics.process proc p new processstarti...

C 程式呼叫外部exe程式

在編寫程式時經常會使用到呼叫可執行程式的情況,本文將簡單介紹c 呼叫exe的方法。在c 中,通過process類來進行程序操作。process類在system.diagnostics包中。using system.diagnostics process p process.start notepad...

C 呼叫外部exe程式,並隱藏窗體

使用process類,c 可以很方便地呼叫第三方exe,並可以自由地控制是否顯示窗體 如何顯示窗體 實現輸入輸出重定向。在使用之前,須先包含乙個命名空間 using system.diagnostics process mypro new process mypro.startinfo.filena...