随心所欲玩转弹窗通知
2022-05-30闽人
闽人
一 定时弹窗
比如每天上班期间定期提醒自己喝水,可以借助“mshta.exe+计划任务”来完成。
1. 设置提醒命令
启动记事本程序新建一个文档,输入下列的代码,保存为“1.bat”,放置在“D:\”根目录下备用。
echo off
mshta vbscript:msgbox("喝水时间到了!",64,"提示")(window.close)
代码解释:
mshta.exe是Windows系统自带程序,它可以结合其他语言的代码用在批处理中。如本例的结合VBS代码实现弹窗功能,与直接使用VBS代码不同的是,它运行后不会在后台驻留WScript.exe进程,比较节约资源。
2. 设置计划任务
启动“任务计划程序”组件新建一个任务,开始时间是每天上午9:00,每隔一个小时运行一次,“操作”是“启动程序”,“程序或脚本”是“D:\1.bat”(图1)。
这样每天到了设定的时间,桌面上就会弹出一个提示框,提醒我们喝水时间到了,点击“确定”按钮可以关闭提示框(图2)。
3.打造语音提醒
使用mshta.exe结合VBS代码还可以直接调用系统的文字转语音功能,打造语音提醒,沉浸在游戏内看不到弹窗的用户也可以从耳机中听到。在上述代码的前面添加代码“mshtavbscript:createobject("sapi.spvoice").speak("时间到了,请喝水哦")(window.close)”,这样到了指定时间会先发出语音提醒,然后弹出提示框(图3)。“.speak”后的内容为需要朗读的文本,如果输入的是英文,还会自动调用英文引擎。
二 循环弹窗
对于某些特别重要的事项,我们还可以通过设置循环弹窗次数来反复提醒自己。比如7月1号是女朋友的生日,当天需要为她预定鲜花,可以设置成弹出提示信息后,多次点击“确定”按钮才能关闭提示框。
1. 设置代码
启动记事本程序新建一个文档,输入下列的代码,保存为“1.vbs”,放置在“D:\”根目录下备用。
Dim t
Do While t < 10
msgbox "生日鲜花买了?",64,"提示"
t = t + 1
Loop
代码解释:
先使用Dim设置一个变量“t”,接着使用“DoWh i l e…… LO O P”语句进行循环,循环次数是“10”(可按需修改)。
2. 设置提醒
新建一个计划任务,开始时间是2 0 2 2年7月1号上午9: 00,“操作”是“启动程序”,“程序或脚本”是“C:\Windows\System32\wscript.exe”,“添加参数”是“D:\ 1. vbs”(图4)。
这样到了指定时间就会自动弹出购买鲜花的提示,连续点击10次“确定”按钮弹窗才会消失(图5)。
假如需要无限弹窗,将上述代码更改为如下代码即可。
Do
msgbox "生日鲜花买了?",64,"提示"
Loop
而想要关闭弹窗,打开任务管理器,切换到“进程”选项卡,依次展开“Microsof t WindowsBased Script Host→提示”,右击它并选择“结束任务”就可以了(图6)。
三 条件弹窗
除了直接弹窗,我们还可以借助Powe r S h e l l命令打造类似系统通知的弹窗提醒。下面以打造检测到Wi-Fi信号强度低于50%时,自动弹出连接其他Wi-Fi热点的系统通知为例。
1. 检测Wi-Fi信号强度
以管理员身份启动PowerShell,输入“netsh wlanshow inter faces”命令并回车,结果列表中“信号”选项后面的数值就是所连接Wi-Fi热点的信号强度,用百分比表示(图7)。
2. 设置代码
到“https://share.weiyun.com/kyouZJfL”下载所需的代码文件wifi.ps1,放置在“D:\”根目录下,用记事本程序打开后全选代码并复制。接着以管理员身份启动Windows PowerShell ISE,将代码粘贴到上方的代码框中,然后點击“运行”按钮,就会开始在后台检测Wi-Fi 信号,如果信号强度低于50%,则会弹出提示消息(图8)。
3. 实际使用
我们还可以让脚本在后台定时检测W i - F i 信号强度。新建一个计划任务,将运行间隔设置为10分钟,“程序或脚本”设置为“C:\Wi n d ows\ S y ste m 3 2 \WindowsPowerShell\v1.0\powershell.exe”,“添加参数”设置为“D:\wifi.ps1”。以后每隔10分钟,如果所连接的Wi-Fi信号强度低于50%,就会自动弹出图8所示的提示信息。