当前位置: 首页 > news >正文

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

相关文章:

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

Windows下从命令行(Powershell/CMD)发送内容到系统通知中心 01 前言 在平时写脚本的时候,将日志等信息直接输出到控制台固然是最直接的,而如果是一些后台执行的任务,不需要时刻关注运行细节但是又想知道一些大致的情…...

day01-搭建项目环境

1. 项目介绍 1.1 项目亮点 1.2 技术架构 2. 搭建环境 启动老师提供的虚拟机,里面常用的组件是开机启动的。 本地访问一些组件时需要手动敲写ip地址和组件端口,在本地的host文件中添加虚拟机的地址,而且虚拟机中有nginx反向代理&#xff0c…...

使用Tauri创建桌面应用

当前是在 Windows 环境下 1.准备 系统依赖项 Microsoft C 构建工具WebView2 (Windows10 v1803 以上版本不用下载,已经默认安装了) 下载安装 Rust下载安装 Rust 需要重启终端或者系统 重新打开cmd,键入rustc --version,出现 rust 版本号&…...

MySQL 函数创建中的 Err 1418:原因解析与解决指南20241203

🚨 MySQL 函数创建中的 Err 1418:原因解析与解决指南 📖 引言 在使用 MySQL 创建函数时,许多开发者会偶然遇到如下报错: [Err] 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its…...

GPT 1到4代的演进笔记

1. GPT-1 标题是 Improving Language Understanding by Generative Pre-Training. 发表于 2018.02, 比 bert(发布于 2018.10) 早了半年. 1.1 动机 困难:NLU 任务是多样的, 有 {textual entailment, question answering, semantic similarity assessment, document classifica…...

Zookeeper集群数据是如何同步的?

大家好,我是锋哥。今天分享关于【Zookeeper集群数据是如何同步的?】面试题。希望对大家有帮助; Zookeeper集群数据是如何同步的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Zookeeper集群中的数据同步是通过一种称为ZAB(Zo…...

vue初始化脚手架

Vue初始化脚手架是指使用Vue CLI(Command Line Interface)工具来创建一个Vue项目的基础结构。Vue CLI是Vue.js官方提供的一个脚手架工具,它可以帮助开发者快速搭建Vue项目的基本框架,包括目录结构、配置文件、依赖管理等。 1. 初始…...

可编程网络在分布式深度学习通信瓶颈控制中的应用与未来展望

目录 可编程网络技术解决分布式深度学习通信瓶颈 1. 网络内聚合原语加速分布式深度学习 2. 流聚合与网络内数据处理设计 3. 可编程数据平面加速 4. 降低通信发生的频次 5. 使用大批量进行训练 可编程网络 可编程性定义 在大语言模型中的应用 举例说明: 可编程网络在…...

【教学类-43-25】20241203 数独3宫格的所有可能-使用模版替换(12套样式,空1格-空8格,每套510张,共6120小图)

前期做数独惨宫格的所有排列,共有12套样式,空1格-空8格,每套510张,共6120小图) 【教学类-43-24】20241127 数独3宫格的所有可能(12套样式,空1格-空8格,每套510张,共6120…...

组合问题变式——选数(dfs)

代码随想录听课笔记1——回溯算法-CSDN博客 这是从1&#xff0c;2&#xff0c;3...,n个数字中选出k个数的组合&#xff0c;输出组合的全部可能的代码 //组合&#xff1a;返回1-n中所有个数为k的组合 1,2,3,4 #include<bits/stdc.h> using namespace std; #define MAX 1…...

怎麼解決路由器IP地址衝突?

路由器IP地址衝突通常發生在網路中有兩個設備嘗試使用相同的IP地址時。這種衝突會導致網路連接問題&#xff0c;因為每個設備需要一個唯一的IP地址才能正常通信。 1. 重啟設備 重啟路由器和設備&#xff1a;有時候簡單的重啟可以解決問題&#xff0c;設備重新獲取一個新的IP地…...

【Flink】Flink 作业执行大致流程

Flink 作业执行流程 (Application 模式) 客户端通过 ClusterDescriptor 提交 Application 模式 Sql 任务到服务端&#xff0c;服务端调用作业时 StreamTableEnvironment 使用 FlinkSqlParser 将 SQL 转换为 Operation , StreamTableEnvironment 转换 SQL 过程中使用 CatalogSou…...

mdf文件数据处理之画图(subplots多信号展示同一张图中)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

python基础知识(一)

文章目录 基础语法注释多行语句数字(Number)类型字符串(String)字符串常用方法字符串格式化 import与from...import 基本数据类型多个变量赋值标准数据类型 运算符算术运算符赋值运算符逻辑运算符成员运算符身份运算符 基础语法 注释 python注释可以使用#&#xff0c;或者三个…...

解决 Flutter Dio合并请求多个接口,如果一个接口500,那么导致其他请求不在执行

Flutter Dio如何自定义拦截异常 应用场景 我们一般会统一拦截DioExceptionType 如400&#xff0c;403&#xff0c;500 等错误 但有时候&#xff0c;有个地方合并请求多个接口&#xff0c;如果一个接口500&#xff0c;那么导致其他请求不在执行&#xff0c;因为统一拦截了500&…...

RPC一分钟

概述 微服务治理&#xff1a;Springcloud、Dubbo服务通信&#xff1a;Grpc、Trift Dubbo 参考 Dubbo核心功能&#xff0c;主要提供了&#xff1a;远程方法调用、智能容错和负载均衡、提供服务自动注册、自动发现等高效服务治理功能。 Dubbo协议Dubbo支持dubbo、rmi、http、…...

CentOS 7 docker部署jar包

1、创建Dockerfile vim Dockerfile2、编辑内容 # 基础镜像 FROM openjdk:8 # 作者或联系方式 MAINTAINER wq # test为别名 ADD erp-1.0.jar /test.jar # 容器暴露端口 EXPOSE 8081 ENTRYPOINT ["java","-jar","test.jar"]3、生成镜像 docker …...

高性能mysql 1

高性能mysql 1 参考&#xff1a; 博客 https://segmentfault.com/a/1190000040374142书籍&#x1f4da;’High performance mysql’ ​ I note some hard part ,translating it into Chinese for a better comprehensionsometimes when I have some trouble with reading En…...

QT发布ArcGIS QML项目时遇到的问题

在打包 ArcGIS Runtime SDK for Qt 项目时&#xff0c;如果项目中没有正确显示地图或者图层&#xff0c;且在项目的 DLL 依赖中没有找到与 ArcGIS SDK 相关的依赖&#xff0c;可能是由于以下几种原因导致的&#xff1a; 1. 未正确配置 ArcGIS SDK 的依赖 ArcGIS Runtime SDK …...

高校数字化运营平台解决方案:构建统一的服务大厅、业务平台、办公平台,助力打造智慧校园

教育数字化是建设教育强国的重要基础&#xff0c;利用技术和数据助推高校管理转型&#xff0c;从而更好地支撑教学业务开展。 近年来&#xff0c;国家多次发布政策&#xff0c;驱动教育行业的数字化转型。《“十四五”国家信息化规划》&#xff0c;推进信息技术、智能技术与教育…...

cocotb value cocotb—基础语法对照篇

cocotb—基础语法对照篇 import cocotb from cocotb.triggers import Timer from adder_model import adder_model from cocotb.clock import Clock from cocotb.triggers import RisingEdge import randomcocotb.test() async def adder_basic_test(dut):"""Te…...

LLM与动态符号执行生成测试用例的比较

LLM与动态符号执行生成测试用例的比较 在软件测试领域&#xff0c;生成有效的测试用例是确保软件质量和可靠性的关键步骤。近年来&#xff0c;大型语言模型&#xff08;Large Language Models&#xff0c;LLM&#xff09;和动态符号执行&#xff08;Dynamic Symbolic Executio…...

torchvison.models中包含的哪些模型?

1.模型 Alexnet AlexNet 是一个具有 8 层的深度卷积神经网络&#xff0c;结构上比早期的卷积神经网络&#xff08;如 LeNet&#xff09;要深得多。它由 5 个卷积层&#xff08;conv layers&#xff09;和 3 个全连接层&#xff08;fully connected layers&#xff09;组成。Al…...

安装v2x,使用docker安装deepstream,安装v2x步骤,并使用tritonServer进行推理步骤,以及避坑问题

1,安装步骤 大致分为下面的安装过程: a 安装docker,b 本地安装环境,c 拉取docker镜像,d,本地下载数据 e,移动数据到docker下目录,f,docker下解压数据,g,docker下engine化数据,h,docker下编译v2x并运行离线数据,r,rtsp数据流替换并运行 To install these packages…...

2022 年 6 月青少年软编等考 C 语言三级真题解析

目录 T1. 制作蛋糕思路分析T2. 找和最接近但不超过K的两个元素思路分析T3. 数根思路分析T4. 迷信的病人思路分析T5. 算 24思路分析T1. 制作蛋糕 小 A 擅长制作香蕉蛋糕和巧克力蛋糕。制作一个香蕉蛋糕需要 2 2 2 个单位的香蕉, 250 250 250 个单位的面粉, 75 75 75 个单位的…...

java opcua server服务端开发 设置用户密码访问

前言 关于使用milo开源库,开发opc ua服务器,之前的教程中,都是使用的匿名访问,有网友咨询如何设置服务端使用用户密码访问,于是我完善了这部分的空缺整理整了这篇教程,希望能解决有同样需求,但是遇到困难的网友!因为milo没有官方文档的教程且网上详细的教程很少,本人…...

SQLite:DDL(数据定义语言)的基本用法

SQLite&#xff1a;DDL&#xff08;数据定义语言&#xff09;的基本用法 1 主要内容说明2 相关内容说明2.1 创建表格&#xff08;create table&#xff09;2.1.1 SQLite常见的数据类型2.1.1.1 integer&#xff08;整型&#xff09;2.1.1.2 text&#xff08;文本型&#xff09;2…...

Spring-Smart-DI !动态切换实现类框架

背景 一般我们系统同一个功能可能会对接多个服务商&#xff0c;防止某个服务商的服务不可用快速切换或者收费不同需要切换&#xff0c;那我们一般做快速切换逻辑传统无非就是先将每个服务商实现&#xff0c;然后在配置点&#xff08;数据库或者nacos&#xff09;配置当前正在使…...

【SCT71401】3V-40V Vin, 150mA, 2.5uA IQ,低压稳压器,替代SGM2203

SCT71401 3V-40V Vin, 150mA, 2.5uA IQ&#xff0c;低压稳压器&#xff0c;替代SGM2203 描述 SCT71401系列产品是一款低压差线性稳压器&#xff0c;设计用于3 V至40 V &#xff08;45V瞬态输入电压&#xff09;的宽输入电压范围和150mA输出电流。SCT71401系列产品使用3.3uF…...

浅谈网络 | 应用层之流媒体与P2P协议

目录 流媒体名词系列视频的本质视频压缩编码过程如何在直播中看到帅哥美女&#xff1f;RTMP 协议 P2PP2P 文件下载种子文件 (.torrent)去中心化网络&#xff08;DHT&#xff09;哈希值与 DHT 网络DHT 网络是如何查找 流媒体 直播系统组成与协议 近几年直播比较火&#xff0c;…...

Brain.js(六):构建FNN神经网络实战教程 - 用户喜好预测

在前文不同的神经网络类型和对比 针对不同的神经网络类型做了对比&#xff0c;本章将对FNN稍作展开 测试环境&#xff1a; chrome 版本 131.0.6778.86&#xff08;正式版本&#xff09; &#xff08;64 位&#xff09; 一、引言 Brain.js 是一个简单易用的 JavaScript 神经网…...

重学设计模式-建造者模式

本文介绍一下建造者模式&#xff0c;相对于工厂模式来说&#xff0c;建造者模式更为简单&#xff0c;且用的更少 定义 建造者模式是一种创建型设计模式&#xff0c;它使用多个简单的对象一步一步构建成一个复杂的对象。这种模式的主要目的是将一个复杂对象的构建过程与其表示…...

linux下c++调用opencv3.4.16实战技巧

目录 参考:在图像上绘框在图像上绘圆在图像上绘文字在图像上绘制线灰度图rgb转yuvOpenCV 读取视频,设置起始帧、结束帧及帧率获取(1.1)简介(1.2)Mat类型(1.3)IplImage类型将OpenCV抓拍的图片进行x264编码并保存到文件c++调用opencv,读取rtsp视频流参考: https://blog…...

记录css模糊程度的属性

记录需要模糊以及透明化图片需求&#xff1a; opacity: &#xff08;0到1之间数字&#xff0c;dom透明程度&#xff09;。 filter: blur() 括号里需数字&#xff0c;单位为px&#xff0c;值越大模糊程度越大。 关于css中filter属性记录 filter 滤镜属性&#xff1a; blur&…...

K8S的监控与告警配置有哪些最佳实践

在 Kubernetes (K8s) 集群中实现有效的监控与告警是确保集群稳定性、性能以及及时响应潜在问题的关键。以下是 K8s 监控与告警配置的最佳实践&#xff0c;涵盖了监控工具的选择、告警规则的配置、数据存储与可视化等方面。 1. 选择合适的监控工具 Kubernetes 生态系统有多种监…...

如何在Ubuntu 20.04上安装和使用PostgreSQL:一步步指南

如何在Ubuntu 20.04上安装和使用PostgreSQL&#xff1a;一步步指南 在Ubuntu 20.04上安装和使用PostgreSQL数据库包括几个明确的步骤&#xff1a;安装、配置、创建用户和数据库、以及基本的数据库操作。下面&#xff0c;我将详细解释每个步骤&#xff0c;并提供具体的命令行示…...

PostGis学习笔记

– 文本方式查看几何数据 SELECT ST_AsText(geom)FROM nyc_streets WHERE name ‘Avenue O’; – 计算紧邻的街区 SELECT name,ST_GeometryType(geom) FROM nyc_streets WHERE ST_DWithin( geom,ST_GeomFromText(‘LINESTRING(586782 4504202,586864 4504216)’,26918),0.1); …...

JDK17 线程池 ThreadPoolExecutor

文章目录 线程池ThreadPoolExecutor状态向线程池添加任务 executeWorker线程池新建工作线程 addWorker 拒绝策略 线程池 线程池将创建线程和使用线程解耦。优点是 避免重复创建和销毁线程&#xff0c;降低资源消耗。任务不用等待创建线程的时间&#xff0c;提高响应速度。统一…...

Dify+Docker

1. 获取代码 直接下载 &#xff08;1&#xff09;访问 langgenius/dify: Dify is an open-source LLM app development platform. Difys intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, …...

分布式会话 详解

分布式会话详解 在分布式系统中&#xff0c;用户的会话状态需要在多个服务器或节点之间共享或存储。分布式会话指的是在这种场景下如何管理和存储会话&#xff0c;以便在多个节点上都能正确识别用户状态&#xff0c;从而保证用户体验的一致性。 1. 为什么需要分布式会话 在单…...

Java进阶

Java进阶 java注解 java中注解(Annotation),又称为java标注,是一种特殊的注释,可以添加在包,类,成员变量,方法,参数等内容上面.注解会随同代码编译到字节码文件中,在运行时,可以通过反射机制获取到类中的注解,然后根据不同的注解进行相应的解析. 内置注解 Java 语言中已经定…...

Qt/C++实现帧同步播放器/硬解码GPU绘制/超低资源占用/支持8K16K/支持win/linux/mac/嵌入式/国产OS等

一、前言 首先泼一盆冷水&#xff0c;在不同的电脑上实现完完全全的帧同步理论上是不可能的&#xff0c;市面上所有号称帧同步的播放器&#xff0c;同一台电脑不同拼接视频可以通过合并成一张图片来绘制实现完完全全的帧同步&#xff0c;不同电脑&#xff0c;受限于网络的延迟…...

hhdb数据库介绍(10-33)

管理 数据归档 归档记录查询 功能入口&#xff1a;“管理->数据归档->归档记录查询” 需要确保配置的归档用户对数据归档规则所在的逻辑库具备CREATE权限&#xff0c;以及对原数据表具有所有权限。 清理归档数据 &#xff08;一&#xff09;功能入口&#xff1a;“…...

UE4_材质节点_有关距离的_流体模拟

一、材质节点介绍&#xff1a; 特别注意&#xff1a;距离场需要独立显卡支持。 1、什么是距离场&#xff1f; 想象一下空间中只有两个实体, 一个球,一个圆柱. 空间由无数个点组成, 取其中任何一个点, 比如,它跟球面的最近距离是3, 跟圆柱面的最近距离是2, 那么这个点的值就…...

SpringBoot集成 SpringDoc (SpringFox 和 Swagger 的升级版)

阅读 SpringDoc 官网 - Migrating from SpringFox 只需要导入以下一个依赖即可&#xff1a; <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.7.0</version>…...

分布式推理框架 xDit

1. xDiT 简介 xDiT 是一个为大规模多 GPU 集群上的 Diffusion Transformers&#xff08;DiTs&#xff09;设计的可扩展推理引擎。它提供了一套高效的并行方法和 GPU 内核加速技术&#xff0c;以满足实时推理需求。 1.1 DiT 和 LLM DiT&#xff08;Diffusion Transformers&am…...

《Vue零基础入门教程》第十七课:侦听器

往期内容 《Vue零基础入门教程》第九课&#xff1a;插值语法细节 《Vue零基础入门教程》第十课&#xff1a;属性绑定指令 《Vue零基础入门教程》第十一课&#xff1a;事件绑定指令 《Vue零基础入门教程》第十二课&#xff1a;双向绑定指令 《Vue零基础入门教程》第十三课&…...

【人工智能-基础】SVM中的核函数到底是什么

文章目录 支持向量机(SVM)中的核函数详解1. 什么是核函数?核函数的作用:2. 核技巧:从低维到高维的映射3. 常见的核函数类型3.1 线性核函数3.2 多项式核函数3.3 高斯径向基函数(RBF核)4. 总结支持向量机(SVM)中的核函数详解 支持向量机(SVM,Support Vector Machine)…...

RoBERTa- 稳健优化的 BERT 预训练模型详解

一、引言 自 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;问世&#xff0c;预训练语言模型在自然语言处理&#xff08;NLP&#xff09;领域掀起革命浪潮&#xff0c;凭卓越表现大幅刷新诸多任务成绩。RoBERTa 承继 BERT 架构&#x…...

20.(开发工具篇github)Git上次超过100M单文件

1:安装lfs git lfs install 2: 撤销所有更改&#xff08;包括未暂存的更改&#xff09; git reset --hard 3:查找大于100M的文件 find ./ -size 100M 4:加入到 track git lfs track “./data/geo_tif_zzjg/2023年_种植结构影像.tif” git lfs track “./data/geo_tif_zz…...