1. 程式人生 > >VC快速強制退出程式方法

VC快速強制退出程式方法

轉載自:http://shashanzhao.com/archives/791.html

首先為什麼要快速強制退出應用程式.

1.想快點結束程式,關閉自己,節約時間

2.正常退出時(或者關閉視窗時)崩潰,出來一個對話方塊

“XXX已停止工作,Windows 正在檢查該問題的解決方案…”,一時找不到原因解決,總不能關閉的時候老看見這個框吧.

3.寫的程式碼是給自己用的,不嚴格,所以如果正常退出,會呼叫一大堆解構函式,可能又涉及到多執行緒,必崩潰,這時就不得不考慮用快速簡單粗暴的方法了.

4.快速退出程式沒有多少影響,系統會幫你回收所有東西,所以不用擔心記憶體洩露等, 唯一的影響就是你可能來不及儲存一些視窗的配置,檔案來不及儲存等等了.

轉到正題,目前有以下幾個函式可以快速退出程式.

exit(0)  呼叫全域性或者靜態物件的解構函式然後退出
ExitProcess(0)  呼叫全域性或者靜態物件的解構函式然後退出
abort()  不呼叫全域性或者靜態物件的解構函式,
但在Release下彈出”XXX已停止工作,Windows 正在檢查該問題的解決方案…”,
在Debug下會彈出”Debug Error!…”,不好用
TerminateProcess(GetCurrentProcess(), 0)    不呼叫全域性或者靜態物件的解構函式,乾淨利落的退出,程式設計師的大愛啊

注:

以上函式都會退出程式,忽略區域性物件的析構和後面的程式碼.
就是此函式不會返回,直到程式終止.

總結就是如果碰到關閉時出現崩潰就使用TerminateProcess(GetCurrentProcess(), 0)來退出,哈哈,頓時清爽了.

測試環境:

Window 7,VC(VS/Visual Stdio)2010

posted on 2016-05-14 14:31 楊粼波 閱讀(630) 評論(1)  編輯 收藏 引用