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. 参考 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/927558.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机的错误计算(一百七十二)

摘要 探讨 MATLAB 对于算式 的计算误差。 例1. 在 MATLAB 中计算 的值。 直接贴图吧: 这样,MATLAB 的输出中只有3位正确数字,有效数字的错误率为 (16-3)/16 81.25% . 因为16位的正确输出为 0.2971242332737277e-18(ISReals…

第30天:安全开发-JS 应用NodeJS 指南原型链污染Express 框架功能实现审计0

时间轴: 演示案例: 环境搭建-NodeJS-解析安装&库安装 功能实现-NodeJS-数据库&文件&执行 安全问题-NodeJS-注入&RCE&原型链 案例分析-NodeJS-CTF 题目&源码审计 开发指南-NodeJS-安全 SecGuide 项目、 环境搭建-NodeJ…

SQL优化与性能——数据库事务管理

数据库事务管理是数据库系统中至关重要的一部分,确保了数据的一致性、完整性、可靠性和隔离性。尤其在高并发、高负载的系统中,事务管理的设计和实现直接影响到系统的稳定性和性能。本章将详细探讨以下内容:事务的ACID特性、使用 BEGIN、COMM…

Rook入门:打造云原生Ceph存储的全面学习路径(上)

文章目录 一.Rook简介二.Rook与Ceph架构2.1 Rook结构体系2.2 Rook包含组件2.3 Rook与kubernetes结合的架构图如下2.4 ceph特点2.5 ceph架构2.6 ceph组件 三.Rook部署Ceph集群3.1 部署条件3.2 获取rook最新版本3.3 rook资源文件目录结构3.4 部署Rook/CRD/Ceph集群3.5 查看rook部…

机器学习——生成对抗网络(GANs):原理、进展与应用前景分析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一. 生成对抗网络的基本原理二. 使用步骤2.1 对抗性训练2.2 损失函数 三. GAN的变种和进展四. 生成对抗网络的应用五. 持续挑战与未来发展方向六. 小结 前言 生…

IDEA连接Apifox客户端

IDEA连接Apifox客户端 一、下载Apifox安装包二、IDEA配置三、配置Apifox和IDEA项目同步 一、下载Apifox安装包 Apifox官网,根据自己的操作系统下载对应的Apifox安装包,我是windows系统所以下载的是windows版。 下载 默认仅为我安装,点击下一…

Python毕业设计选题:基于django+vue的校园影院售票系统

开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 影院信息管理 电影类型管理 电影信息管理 系统…

《Java核心技术I》线程状态

12.2 线程状态 线程可以有6种状态: New(新建)Runnable(可运行)Blocked(阻塞)Waiting(等待)Timed waiting(计时等待)Terminated(终止) 确定当前线程的状态,只需要调用getState()方法。 12.2.1 新建线程 当new创建一个线程时,线程还未运行…

树莓派基本配置-基础配置配置

树莓派基本配置 文章目录 树莓派基本配置前言硬件准备树莓派刷机串口方式登录树莓派接入网络ssh方式登录树莓派更换国内源xrdp界面登录树莓派远程文件传输FileZilla 前言 树莓派是一款功能强大且价格实惠的小型计算机,非常适合作为学习编程、物联网项目、家庭自动化…

python---面向对象-python中的实践(2)

如何定义一个类? class 类名:pass怎样通过类,创建出一个对象? 根据类创建对象one Money() 执行流程1. 类的定义2. 根据类,创建出一个对象3. 将对象的唯一标识返回class Money:passprint(Money.__name__) xxx Money print(xxx.…

以达梦为数据库底座时部署的微服务页面报乱码,调整兼容模式

1.问题描述 部署微服务,文件、代码是延用的mysql类型的,部署前做了部分适配,但是在使用dm数据库进行安装的服务在页面上查询出的数据却都是乱码 2.查询官网,注意到一个参数COMPATIBLE_MODE兼容模式的配置 考虑是延用mysql&…

.net core MVC入门(三)——Product页面添加

文章目录 项目地址一、Product数据库准备 项目地址 教程作者&#xff1a;教程地址&#xff1a; 代码仓库地址&#xff1a; 所用到的框架和插件&#xff1a; dbt airflow一、Product数据库准备 添加Product的EF上下文 public DbSet<Category> Categories { get; set; …

DDR3与MIG IP核(三)

.init_calib_complete&#xff1a;DDR3初始化信号 MIG IP核的28位地址对应DDR3地址的对应关系&#xff1a;3代表8个bank 写数据时序图&#xff1a;&#xff08;三种写数据的方式&#xff09; 1&#xff1a;写数据app_wdf_data时序发生在写命令app_cmd和写地址app_addr之前 2…

Python酷库之旅-第三方库Pandas(251)

目录 一、用法精讲 1186、pandas.tseries.offsets.BusinessMonthEnd.is_year_start方法 1186-1、语法 1186-2、参数 1186-3、功能 1186-4、返回值 1186-5、说明 1186-6、用法 1186-6-1、数据准备 1186-6-2、代码示例 1186-6-3、结果输出 1187、pandas.tseries.offs…

写NFC微信小程序跳转Uri标签

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.52de2c1b8bEEGz&ftt&id615391857885 Dim dispstr As String Dim status As Byte Dim status1 As Byte Dim afi As Byte Dim myctrlword As Byte Dim mypiccserial(0 To 7) …

关于单片机的原理与应用!

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///计算机爱好者&#x1f60a;///目前正在学习C&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于单片…

【Linux】————(日志、线程池及死锁问题)

作者主页&#xff1a; 作者主页 本篇博客专栏&#xff1a;Linux 创作时间 &#xff1a;2024年11月29日 日志 关于日志&#xff0c;首先我们来说一下日志的作用&#xff0c; 作用&#xff1a; 问题追踪&#xff1a;通过日志不仅仅包括我们程序的一些bug&#xff0c;也可以在…

基于深度学习的甲状腺结节影像自动化诊断系统(PyQt5界面+数据集+训练代码)

随着医学影像技术的发展&#xff0c;计算机辅助诊断在甲状腺结节的早期筛查中发挥着重要作用。甲状腺结节的良恶性鉴别对临床治疗具有重要意义&#xff0c;但传统的诊断方法依赖于医生的经验和影像学特征&#xff0c;存在一定的主观性和局限性。为了解决这一问题&#xff0c;本…

本地项目通过git传递给新建的github库

第一步&#xff0c;打开终端进入本地项目目录 第二步&#xff0c;初始化Git仓库 git init第三步&#xff0c;添加远程仓库 git remote add origin https://github.com/用户名/仓库名.git第四步&#xff0c;添加所有文件到Git版本控制 git add .这个命令会将所有文件添加到暂…

【Maven Helper】分析依赖冲突案例

目录 Maven Helper实际案例java文件pom.xml文件运行抛出异常分析 参考资料 《咏鹅》骆宾王 鹅&#xff0c;鹅&#xff0c;鹅&#xff0c;曲项向天歌。 白毛浮绿水&#xff0c;红掌拨清波。 骆宾王是在自己7岁的时候就写下了这首杂言 Maven Helper A must have plugin for wor…