您好,登錄后才能下訂單哦!
我需要寫一個程序,讓這個程序知道另一個程序是否正常退出,于是就需要獲取這個進程的退出代碼
在程序如果需要手動退出,可以設置當前的退出代碼
static void Main(string[] args) { Environment.Exit(-100); }
這時的程序運行就退出,同時退出的代碼就是 -100 這和 C 語言的在 main 函數返回值一樣
在 C# 如果想要實現 C 語言的 main 函數的返回值,是通過調用 Environment.Exit 方法
那么其他程序如何拿到這個程序的退出代碼?
需要其他程序先拿到這個程序的進程,如果是在其他程序啟動這個程序,那么通過 Process 就可以拿到
如我有兩個程序,一個是控制臺程序,這個控制臺程序是 控制臺.exe 還有一個 WPF 程序,通過 WPF 程序打開控制臺程序,然后拿到控制臺程序的退出代碼
private Process _process; public MainWindow() { InitializeComponent(); var process = new Process {StartInfo = new ProcessStartInfo("控制臺.exe")}; _process = process; process.Start(); }
在 WPF 程序的按鈕按下嘗試通過 _process.ExitCode 請看代碼
通過這個方法就可以拿到啟動的進程的返回值,如果不是在 WPF 啟動控制臺程序,也可以在進程退出之前使用下面代碼拿到進程
var process = Process.GetProcessById(控制臺進程);
如果在進程退出之后才嘗試去獲取進程就會出現下面代碼
System.ArgumentException:“ID 為 xx 的進程當前未運行。"
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。