自学内容网 自学内容网

Windows下从命令行(Powershell/CMD)发送内容到系统通知中心

Windows下从命令行(Powershell/CMD)发送内容到系统通知中心

01 前言

在平时写脚本的时候,将日志等信息直接输出到控制台固然是最直接的,而如果是一些后台执行的任务,不需要时刻关注运行细节但是又想知道一些大致的情况,那么将信息输出到一个“消息中心”就是比较好的选择。
微软从Windows 8 引入了 Toast 通知,但是只是短暂弹出窗口,而在Windows 10 引入了交互式 Toast,还引入了操作中心,在该中心,通知将持续多天1
既然已经有了现成的,直接用就可以。查了一些资料,C++C#PythonRust实现的版本都有(C++C#的方式,可以参考官方文档实现),最后使用了Rust的方案,比较简单。

02 正文

环境:

Windows 11 64-bit
rustup 1.27.1
cargo 1.82.0
toastify 0.5.4

(1)安装

直接运行命令安装:

cargo install toastify

安装完成后,会在%CARGO_HOME%\bin中有对应的可执行文件:toastify.exe
如果环境配置没问题,就可以直接在Powershell或者CMD中愉快使用了。

(2)使用

  • 查看帮助:
toastify -h
  • 或者查看发送的格式
toastify send -h
  • 发送消息
toastify send "提示标题" "提示的内容,今天周五太高兴了~"

效果:
【查看帮助】
查看帮助

【发送消息内容】
发送后的效果

需要注意的是
如果发送了消息之后没有效果(也就是右下角没有弹出提示),请检查相关设置是否已开启:
(1)选择 开始 > 设置 > 系统 > 通知
(2)选择“通知” ,将其打开
(3)确保 “请勿打扰” 是关闭的,或者当前时间不在“请勿打扰”设置的范围内

设置

(3)扩展

这个toastify使用了notify-rust(跳转),所以如果想定制更多的功能,也可以直接使用notify-rust库进行开发。

根据微软官方文档,这种Toast通知还可以加入图片声音按钮,甚至设置跳转链接等,如图效果:
官方图

03 后记

当然,除了用系统内置的通知中心,还可以自行实现类似的功能,本质上就是实现一个右下角的弹窗——像以前各种流氓软件经常干的事就是在右下角冷不防弹个广告。

比如,C#版本的,发现一个还不错的库,里面的Notifications模块:
ApeFree.ApeForms
效果就是这样(右下角弹窗,默认有一定透明度,鼠标移动上去就变完全不透明,移开就变透明,一段时间自动消失,新的消息窗口可以增加在前面或者后面,还可增加图片,自定义按钮等):
效果2

如果是Windows XP/7系统用户,还可以考虑这个方案:notifu

如果是Python用户,可以考虑这个方案:win11toast


  1. 参考 ↩︎


原文地址:https://blog.csdn.net/HoKis/article/details/144146179

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!