处理WM#U关闭消息发送到C#托盘应用程序
我发现有几篇文章告诉我如何使用WM_CLOSE消息,但我的应用程序是处理WM_CLOSE消息的应用程序 有没有办法将WM_连接起来并处理它?因为WM_CLOSE只关闭托盘图标,而不终止进程本身处理WM#U关闭消息发送到C#托盘应用程序,c#,.net,C#,.net,我发现有几篇文章告诉我如何使用WM_CLOSE消息,但我的应用程序是处理WM_CLOSE消息的应用程序 有没有办法将WM_连接起来并处理它?因为WM_CLOSE只关闭托盘图标,而不终止进程本身 关于,要执行此操作,您需要覆盖表单上的WndProc方法,该方法是主托盘图标和手柄WM\u CLOSE private const int WM_CLOSE = 0x0010; protected override void WndProc(ref Message m) { if (m.Msg ==
关于,要执行此操作,您需要覆盖
表单上的WndProc
方法,该方法是主托盘图标和手柄WM\u CLOSE
private const int WM_CLOSE = 0x0010;
protected override void WndProc(ref Message m) {
if (m.Msg == WM_CLOSE) {
// Close everything
}
base.WndProc(ref m);
}
嘿,Jared,非常感谢,但是这种方法对我不起作用,因为我在编写托盘图标应用程序时使用了更以托盘为中心的方法。我将使用自己的应用程序上下文,因此没有“真实”表单。但是通用的ApplicationContext提供了一个名为“MainForm”的属性,我所需要做的就是处理关闭事件。@inva你有没有做到这一点?如果我的主窗体有ShowInTaskBar=false
,则窗口将永远不会收到关闭消息。