查询创建Windows 10风格自定义通知的可用API及该类通知的标准名称
你要实现的Windows 10系统更新推送样式通知效果如下:
官方命名
该类通知的微软官方正式命名为 Toast Notification(吐司通知),你提到的几个名词均不符合官方定义:
- Banner:一般指应用内顶部临时横幅,不属于系统级通知范畴
- MessageBox:是传统阻塞式弹窗,需要用户手动点击关闭才能继续操作,和自动消失的通知逻辑完全不同
- SystemMessage:是系统消息的泛称,没有对应特定的通知样式
优先推荐的开发API方案
根据不同技术栈可选择对应的官方API实现,均可以1:1还原系统更新推送的通知样式:
- Win32/C++ 开发:直接调用 WinRT 接口
Windows.UI.Notifications.ToastNotificationManager,Win10 1709及以上系统版本原生支持,可完全自定义通知的标题、正文、操作按钮、进度条、图标等所有元素,对齐系统原生通知的交互逻辑。 - .NET/C# 开发:引入
Microsoft.Toolkit.Uwp.NotificationsNuGet包,无需将程序打包为UWP应用即可直接调用吐司通知能力,封装好的API仅需几行代码即可生成原生样式通知,支持自定义所有交互逻辑。 - 脚本/快速测试场景:使用PowerShell调用WinRT接口即可直接推送通知,也可以使用开源的
BurntToastPowerShell模块,所有参数均已封装,调用门槛极低。
关于sessionmsg.exe的补充说明
sessionmsg.exe是Windows终端服务内置的命令行工具,核心作用是向指定用户会话发送消息,Citrix调用该工具只是借用了它的系统消息推送能力,该工具的标准调用格式为:
sessionmsg <会话名|会话ID> [/SERVER:目标服务器名] [/TIME:自动关闭超时秒数] [/V] [/W] [消息内容]
但该工具生成的通知自定义程度极低,仅支持修改正文内容,无法调整样式、添加按钮等,完全无法和官方Toast Notification API的灵活性相比,仅适合简单的纯文本消息推送场景。
内容的提问来源于stack exchange,提问作者B4DschK4Pp
相关产品推荐
相关产品推荐

