使用 Windows 服务 C# 的气球工具提示

Balloon Tooltip using Windows Service C#

我想使用 windows 服务打开气球工具提示。 我可以在 Windows 表格中完成。是否可以使用 windows 服务?

不直接。 windows 服务不在用户会话中 运行,它 运行 在其自己的特殊 "Service Session" 中。该会话中显示的工具提示不会显示在用户桌面上。

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

我以前实现过这个服务,用的是命名管道。基本上你创建了两个应用程序。

  • 一个 windows 服务项目作为命名管道服务器
  • 带有托盘图标、气球和命名管道客户端的 winforms 应用程序

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

winforms 应用监听管道上的消息。收到消息后,您可以弹出气球。

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

编码愉快!