c# 強制退出

iDotNetSpace發表於2009-12-18
經常為了防止使用者非正常退出系統,在窗體的FormClosing的事件中設定E.Cancel=true。

但這樣的結果是,如果當使用者想真正退出的時候,卻真正無法退出了。解決的辦法,原來一直用一個是否可以退出的變數來進行分析,比如我們可以設定IsCanExit,當程式判斷可以退出時,把IsCanExit設定成true,這樣就可以退出了,但這樣仍然很麻煩。

    而且,這樣的情況在使用多執行緒程式設計時也會遇到。當時使用Application.Exit或Apllication.ExitThread,都不能徹底退出系統,雖然程式介面已經退出,但是在工作管理員裡仍然在執行這個程式。

    這表明,使用Application.Exit或Apllication.ExitThread,使用之後不能完全退出。

    後來發現,除了以上兩個退出的方式之外,還有一個Environment.Exit,呼叫這個方法可以實現完全退出系統。

    到此時,我們不難發現,原來即使我們的程式不能正常退出了,但是在除錯時,點選Vs2005裡的停止按鈕,一下就結束了,在工作管理員裡也看不到了,此時我們呼叫的Environment.Exit方法,應該與Vs2005中的停止按鈕具有相同效果。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-622780/,如需轉載,請註明出處,否則將追究法律責任。

相關文章