Matrix 首页推荐
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,少数派仅对标题和排版略作修改。
不知道你有没有这样的尴尬,笔记本周末带回家,周一拿到办公室,打开 PotPlayer 刚想摸摸鱼,小电影的声音就自动播放出来😂,利用 Windows 计划任务和 NirCmd 命令行小程序帮你连接办公室 WiFi 时自动静音,不再让悲剧重演!
参考链接:How to run a program when connecting to a specific network in Windows 7 - superuser
工具准备:NirCmd
官网与命令说明:NirCmd - Windows command line tool (nirsoft.net)
NirCmd 是一个免费的命令行小工具,可以在不使用 UI 的条件下进行一些 Windows 系统控制,如读写注册表、重启系统、创建快捷方式、更改显示设置、关闭显示器等等等等,感兴趣的具体可以看官网介绍。
结合任务计划程序,就可以完成不少自动化功能,可以说是 Windows 系统下的简易 Tasker 了。
任务计划程序
任务栏搜索:任务计划。
右侧点击:创建任务。
起个名字。
切换到触发器选项卡,新建-发生事件时:
选择自定义单选框,单击新建时间筛选器。
在筛选器选项卡下,选择事件级别:信息——这里实际是利用 Windows 事件日志来触发自动化,感兴趣的可以在任务栏搜索事件查看器试试,也可以利用其他事件触发自动化。
事件日志下拉菜单依次选择:应用程序和服务日志 - Microsoft - Windows - WLAN - AutoConfig/Operational;
事件来源选择 WLAN - AutoConfig;
<所有事件-ID> 改为 8001;
任务类别选择 AcmConnection。
如果就在这里打住的话,那么连接任何 WiFi 都会触发后面的任务,因此还需要根据 SSID 做更改。
切换到 XML 选项卡,再对应查看 Windows 事件查看器,左侧选择 应用程序和服务日志 - Microsoft - Windows - WLAN - AutoConfig/Operational,找到右侧 8001 对应的日志。 通过对比可以看出,刚才的选项对应了日志 XML 文件记录的条目信息,因此只要将 SSID 条目添加进去,就可以在连接指定 WiFi 时再触发对应任务了。
点选手动编辑查询,只要在 </Select>
前添加and *[EventData[Data[@Name='SSID']='你的WiFi ssid']]
即可,最终 XML 如下:
<QueryList>
<Query Id="0" Path="Microsoft-Windows-WLAN-AutoConfig/Operational">
<Select Path="Microsoft-Windows-WLAN-AutoConfig/Operational">*[System[Provider[@Name='Microsoft-Windows-WLAN-AutoConfig'] and Task = 24010 and (EventID=8001)]]and *[EventData[Data[@Name='SSID']='你的WiFi ssid']] </Select>
</Query>
</QueryList>
成果演示
最后,确定保存,返回到操作选项卡,新建,选择启动程序,浏览到 NirCmd 存放位置,添加参数填入 mutesysvolume 1,确定保存,输入密码,大功告成。
利用同样的方法,你也可以选择连接家庭 WiFi 或断开公司 WiFi 时,自动恢复音量等等,举一反三,这里就不详细说明啦。
> 关注 少数派小红书,找到数字时代更好的生活方式 🎊
> 实用、好用的 正版软件,少数派为你呈现 🚀
© 本文著作权归作者所有,并授权少数派独家使用,未经少数派许可,不得转载使用。