c++ - Windows服务Win10中的Toast通知

标签 c++ windows-10 windows-services localnotification

我正在开发一个软件并将其视为一项服务,因为我需要它 24X7 监听端口并在新客户端连接时发出通知(Toast 通知)。我能够从经典的 Win32 C++ 应用程序发送 Toast 通知,但即使我选中“允许服务与 UI 交互”,我也无法通过 Windows 服务发送它。您如何看待软件架构?!您认为我应该重新考虑软件架构还是有任何其他方式可以通过 Windows 服务发送 Toast 通知?!

最佳答案

“允许服务与 UI 交互”仅在 XP 之前有效。到那时,第一个登录的用户在 Session 0 中运行,与服务运行的 Session 相同。但是从 Vista 开始,Session 0 现在是隔离的,用户仅在 Session 1 和更高版本中运行,因此服务无法再与用户交互.

当您希望您的服务显示 toast 时,让服务使用 CreateProcessAsUser() 在可用的用户 session 中生成一个单独的进程(大量示例演示了如何做到这一点),然后该进程可以根据需要显示 toast 。

关于c++ - Windows服务Win10中的Toast通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58720870/

相关文章:

c++ - 添加到从另一个对象到创建该对象的对象的 vector

python - 如何在执行前通过 python 程序显式配置命令提示符?

r - 为什么 R 使用系统 tar,而不是 Rtools tar?

C# LINQ 存储过程

.net - Windows 服务 - 在 "path to executable"中提供参数

c++ - 当模态对话框处于事件状态时检测主应用程序窗口上的 WM_CLOSE 事件?

c++ - SHFileOperation 返回 1223,仅在 xp 上

c++ - 为什么我不能通过传入的类对象参数杀死 pthread

windows - 如何阅读 Windows 10 BSOD 迷你转储分析

c# - 将数据从 Windows 窗体应用程序发送到窗口服务