這篇文章主要介紹了C# 獲取進程退出代碼的實現示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
我需要寫一個程序,讓這個程序知道另一個程序是否正常退出,於是就需要獲取這個進程的退出代碼
在程序如果需要手動退出,可以設置當前的退出代碼
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 的進程當前未運行。"
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。