【问题标题】:Toast Notification in Windows Service Win10Windows 服务 Win10 中的 Toast 通知
【发布时间】:2019-11-05 23:15:09
【问题描述】:
我正在开发一个软件并将其视为一项服务,因为我需要它来侦听端口 24X7 并在新客户端连接时通知(Toast 通知)。我能够从经典的 Win32 c++ 应用程序发送 Toast 通知,但即使我选中“允许服务与 UI 交互”,我也无法通过 Windows 服务发送它。您如何看待软件架构?!您认为我应该重新考虑软件架构还是有任何其他方式可以通过 Windows 服务发送 Toast 通知?!
【问题讨论】:
标签:
c++
windows-10
windows-services
localnotification
【解决方案1】:
“允许服务与 UI 交互”仅在 XP 之前有效。到那时,第一个登录的用户在 Session 0 中运行,服务运行在同一个 Session 中。但是从 Vista 开始,Session 0 现在是隔离的,用户只能在 Session 1 和更高版本中运行,因此服务不能再与用户交互.
当您希望您的服务显示祝酒词时,让服务使用CreateProcessAsUser() 在可用的用户会话中生成一个单独的进程(大量示例展示如何做到这一点),然后该进程可以显示根据需要吐司。