我已經開發使用的Win32應用程序關閉如何讓事件的C/C++,它運行在Vista和XP的,當應用程序從任務管理器
我想知道,我可以讓我的應用程序時,任何情況下我的應用程序從
任務管理器殺了,通過選擇「結束進程」按鈕
我想釋放我的應用程序的退出一些內存。
請在這方面
與問候幫助,
Vinayaka Karjigi
我已經開發使用的Win32應用程序關閉如何讓事件的C/C++,它運行在Vista和XP的,當應用程序從任務管理器
我想知道,我可以讓我的應用程序時,任何情況下我的應用程序從
任務管理器殺了,通過選擇「結束進程」按鈕
我想釋放我的應用程序的退出一些內存。
請在這方面
與問候幫助,
Vinayaka Karjigi
不,你的應用程序被終止,恕不另行通知。你在任務管理器擺佈。
無論如何,操作系統將釋放內存,因此捕獲它以釋放內存是完全沒有意義的。 – Goz 2009-09-08 06:14:56
感謝您對我們的建議 – 2009-09-08 07:15:00
在.net 2.0中,您可以得到CloseReason.TaskManagerClosing的關閉原因。因此我懷疑你應該能夠處理structured exception。
編輯。 Possibly not
我懷疑CLR在NTTerminateProcess上爲託管進程放置了斷點。
爲什麼這是CW? – Naveen 2009-09-08 05:48:44
@Vinayaka Karjigi - 通常只有當應用程序掛起時才需要使用end process選項,所以如果出現這樣的需求,理想情況是應用程序可能需要重新審查。正如在下面的答案中指出的,內存清理將在OS終止進程時由OS完成。當它再次取決於操作系統。 – 2009-12-31 08:08:59