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