3
我發現有幾篇文章告訴我如何使用WM_CLOSE消息,但從來沒有我的應用程序是誰必須處理WM_CLOSE消息。處理WM_CLOSE消息發送到C#托盤應用程序
有沒有辦法掛鉤WM_CLOSE並處理它?因爲WM_CLOSE僅關閉托盤圖標,但不會終止進程本身...
問候,
我發現有幾篇文章告訴我如何使用WM_CLOSE消息,但從來沒有我的應用程序是誰必須處理WM_CLOSE消息。處理WM_CLOSE消息發送到C#托盤應用程序
有沒有辦法掛鉤WM_CLOSE並處理它?因爲WM_CLOSE僅關閉托盤圖標,但不會終止進程本身...
問候,
要做到這一點,你需要重寫的Form
這是主要的托盤圖標和處理WM_CLOSE
的WndProc
方法
private const int WM_CLOSE = 0x0010;
protected override void WndProc(ref Message m) {
if (m.Msg == WM_CLOSE) {
// Close everything
}
base.WndProc(ref m);
}
嘿賈裏德,非常感謝,但這種方法不適合我,因爲我使用更多的托盤中心方法編寫托盤圖標應用程序。我將使用自己的ApplicationContext,因此沒有「真實」的表單。但是常見的ApplicationContext提供了一個名爲「MainForm」的屬性,我所需要做的就是處理Closing事件。 – inva 2012-03-23 07:25:17