0

我想使用 Windows 服务打开一个气球工具提示。我可以在 Windows 窗体中做到这一点。是否可以使用 Windows 服务?

4

2 回答 2

1

我之前已经实现了这项服务并使用了命名管道。基本上你创建了两个应用程序。

  • 充当命名管道服务器的 Windows 服务项目
  • 带有托盘图标、气球和命名管道客户端的 winforms 应用程序

Windows 服务将消息推送到连接的客户端,可能是运行 winforms 应用程序的系统上的多个用户。

winforms 应用程序侦听管道上的消息。消息进入后,您可以使气球弹出。

这是一个很酷的测试项目:https ://www.codeproject.com/Tips/492231/Csharp-Async-Named-Pipes

快乐编码!

于 2017-08-31T18:31:31.513 回答
0

不是直接的。Windows 服务不在用户会话中运行,它在其自己的特殊“服务会话”中运行。该会话中显示的工具提示不会显示在用户桌面上。

通常解决此问题的方法是使用第二个程序,该程序以用户登录名开始,并且在任务栏中不可见。该程序使用某种形式的 IPC(例如 WCF)与服务通信,然后服务可以告诉帮助程序根据需要显示通知。

于 2017-08-31T18:04:51.650 回答