3

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

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

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

我怎样才能做到这一点?

提前致谢。

4

4 回答 4

4

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

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

于 2009-08-10T16:22:07.880 回答
0

您可以在应用程序中使用 WCF 服务。

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

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

于 2009-08-10T16:23:53.603 回答
0

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

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

于 2014-09-15T08:53:21.833 回答
0

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

Hanselman:单实例 WinForms

OpenWinForms(选择 True Single Instance 应用程序)

于 2009-12-30T10:23:28.683 回答