2013-03-07 61 views
2

我有沒有用C寫的窗口的Win32應用程序 我的問題是:有沒有什麼辦法來處理我的應用程序的終止。防爆。從任務管理器或通過控制檯關閉它。如何處理的Win32應用程序終止

+0

你是什麼意思「處理終止」?你問如何使用Windows任務管理器? – Lundin 2013-03-07 16:05:28

+1

我正在爲鍵盤創建一個全局鉤子,我想在應用程序從任務管理器中死掉之前刪除它。 我正在尋找與處理KILL信號的類似的行爲。 – 2013-03-07 16:06:45

+1

爲什麼選擇投票?這不是一個明確的用例嗎? – alk 2013-03-07 16:21:04

回答

2

從這個問題還不清楚,但如果這是一個控制檯模式應用程序,那麼你可以撥打SetConsoleCtrlHandler安裝一個回調函數,Windows將在它終止你的應用程序之前調用回調函數。請注意,此回調運行在單獨的線程上,並且您必須快速完成回調函數。

如果它只是不會創建一個窗口,那麼你真的需要一個窗口,得到這樣的通知本地Windows程序。這不是問題,它不一定是可見的。只是不要調用ShowWindow()。

注意的atexit()提到將無法正常工作,這些都是不禮貌中止你正在談論的是不要讓程序去通過正常關機順序。

+0

我會堅持創造一個簡單的窗口。 – 2013-03-07 17:05:30