如何实现可通过任务计划程序定时触发的带Yes/No选项的弹窗提醒(点击No可打开指定网站)
如何实现可通过任务计划程序定时触发的带Yes/No选项的弹窗提醒(点击No可打开指定网站)
嘿,我来帮你搞定这个需求!你的思路已经找对方向了——用Windows原生支持的VBScript就能完美实现,完全不需要额外安装任何软件,而且能悄无声息地运行,不会给用户弹命令窗口。
方案一:直接用VBS脚本(最简洁,推荐)
你只需要创建一个后缀为.vbs的脚本文件,里面包含弹窗逻辑和用户选择的判断:
' 弹出带Yes/No选项的提醒弹窗 Dim userChoice userChoice = MsgBox("Reminder to sign in on School Checkin.", 4, "School Checkin Reminder") ' 判断用户点击的按钮:No对应返回值7,打开签到网站;Yes对应6,直接关闭弹窗 If userChoice = 7 Then ' 把下面的网址替换成你的实际签到网站 CreateObject("WScript.Shell").Run "https://your-checkin-website.com" End If
把这段代码保存成CheckinReminder.vbs,替换里面的签到网址就行。
用任务计划程序定时触发
接下来设置定时运行,跟着步骤走就行:
- 打开Windows的「任务计划程序」,点击左侧的「创建基本任务」
- 给任务起个好记的名字(比如“每日签到提醒”),点击下一步
- 选择触发条件(比如「每天」),设置具体的触发时间(比如早上9点),点击下一步
- 操作类型选择「启动程序」,点击下一步
- 在「程序或脚本」栏里,选择你刚才保存的
CheckinReminder.vbs文件,点击下一步 - 最后勾选「当单击“完成”时,打开此任务属性的对话框」,点击完成;在属性窗口里勾选「只有当用户登录时运行」,确定即可。
方案二:改进你的批处理脚本(如果坚持用批处理)
如果你还是想用批处理来生成并运行VBS,也可以修改你原来的代码,加上判断逻辑:
@echo off setlocal :: 生成包含判断逻辑的VBS脚本 echo Dim userChoice > msgbox.vbs echo userChoice = MsgBox("Reminder to sign in on School Checkin.", 4, "School Checkin Reminder") >> msgbox.vbs echo If userChoice = 7 Then >> msgbox.vbs echo CreateObject("WScript.Shell").Run "https://your-checkin-website.com" >> msgbox.vbs echo End If >> msgbox.vbs :: 后台运行VBS,避免显示命令窗口 start /min wscript.exe msgbox.vbs :: 延迟5秒再删除VBS,防止脚本还在运行就被删掉 timeout /t 5 /nobreak >nul del msgbox.vbs
不过这个方案会闪一下命令窗口,不如直接用VBS脚本的体验好,所以更推荐第一种方案。
备注:内容来源于stack exchange,提问作者daf0555
相关产品推荐
相关产品推荐

