单个实例并在系统托盘中通知

时间:2009-08-10 16:20:30

标签: c# .net single-instance notify balloon

我正在处理该应用程序(C#2.0)。我已经在其中实现了单个实例。一切都好。 如果我再次运行该应用程序,它会显示消息框说“实例已在运行”。

实际上我不想通过消息框显示消息。

我想使用已经运行的实例的Balloon提示显示此消息(它在系统托盘中有通知图标)。

我怎样才能实现这个目标?

提前致谢。

4 个答案:

答案 0 :(得分:4)

您需要一种interprocess communication形式,向另一个实例发出信号,表明它应该显示消息框。

在这种情况下,你可以比告诉现有实例显示消息更好,而是告诉它恢复它的主窗口(即“unminimise”)。

答案 1 :(得分:0)

您可以在app中使用WCF服务。

您的第二个应用通过NetPipe连接到它,调用方法并关闭。

你的第一个应用程序接到电话并弹出气球通知

答案 2 :(得分:0)

实现单个实例并在第二个实例启动时通知第一个实例的最简单方法已在.Net中实现。只需看看以下链接:

Hanselman: Single Instance WinForms

OpenWinForms (select True Single Instance application)

答案 3 :(得分:0)

免费工具集CodeFluent Runtime提供了一个SingleInstance类来实现单个实例应用程序:

您只需覆盖 WndProc 方法即可弹出通知(Baloon提示)。