C# 獲取進程退出代碼的實現示例

這篇文章主要介紹了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 的進程當前未運行。"

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持神馬文庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章