俞木发
1.“恢复”消息提示功能
虽然我们不能直接恢复弹出提示消息功能,但可以通过一些变通的方法来实现类似的提示功能。以添加开会提示操作为例,比如公司每周一上午的10:00都要开例会,为了提醒自己准时参会,需要设置一个每周一上午的9:00开始执行、10:00结束、每隔15分钟就弹出参加例会的提示消息的任务计划。
首先启动记事本程序,输入下列的命令,然后将其保存为“1.vbs”,放置在“G:\”备用。
a=msgbox("请在10点准时参加会议",4096,"周一例会提醒")
命令解释:
前面的内容为消息正文(提示消息用半角双引号标注,下同),最后的内容为弹窗的标题,中间的代码“4096”表示使用系统模式,即表示在用户响应消息提示框之前,所有的应用程序都被挂起,这样弹出的提示框会出现在所有程序的最上端。
接着启动任务计划程序并新建一个任务,名称为“例会提醒”,触发器为每周一上午的9:00开始执行,10:00结束,重复任务时间的间隔为15分钟;“操作”设置为“启动程序”,在“程序或脚本”处输入
“G:\1.vbs”(图1)。
这样从每周一上午的9:00开始,每隔15分钟,系统就会自动弹出一个开会提示窗口,它和任务计划程序弃用了的“提示消息”功能是一样的(图2)。
如果想弹出其他消息的提示,大家只要自行更改“1.vbs”文件中的标题和提醒内容即可。此外,我们也可以将图片、音乐等文件作为弹窗提示,比如在图1所示窗口的“添加参數”处输入“d:\1.jpg”,
“程序或脚本”处添加图片的关联程序,如“mspaint.exe”,这样任务运行后就会弹出“d:\1.jpg”作为图片提示了(图3)。
2.恢复发送邮件功能
如果需要使用邮件发送功能,比如定时发送邮件来提醒自己在每月的月初缴纳水电费,同样可以新建发送邮件的VBS脚本,然后在运行的程序中选择对应的脚本文件即可。该脚本的建立方法请参考本刊2021年第8期中《用活审核事件监控游戏时间》一文的介绍。
Windows 10的任务计划可以在设置好的触发器下自动激活,但是任务计划程序自带的触发器有时无法满足我们的使用需求。比如笔者在浏览新闻时有时会花费过多的时间,现在需要设置一个任务计划,即当启动Edge浏览器超过20分钟时弹出一个上网时长提示,超过25分钟时自动关闭Edge。由于笔者每次启动浏览器的时间不固定,因此使用常规的触发器是无法完成该任务的,这时我们可以借助批处理来创建更为灵活的触发器。
步骤1:设置计划执行命令
启动记事本程序后输入下列的命令,然后将其保存为“2 vbs”,放置在“D:\”备用。
wscript.sleep 1000*1200
a=msgbox("你的上网时间已经达到20分钟了!!!"4096,"上网提醒")
Set ws=CreateObject("Wscript.Shell")
wscript.sleep 1000*300
ws.run"cmd/c Taskkill/im msedge.exe",vbhide
ws.run"cmd/c SCHTASKS/end/TN"Edge上网时间控制",vbhide
命令解释:
使用wscript.sleep命令延迟1200秒(即20分钟)后弹出上网时间提示窗口,接着延迟300秒并以隐藏窗口的方式运行TASKKILL命令来关闭Edge浏览器,最后再使用SCHTASKS命令来结束指定的任务计划。
步骤2:新建任务计划
现在启动任务计划程序并新建一个名为“Edge上网时间控制”的计划,切换到“触发器一新建”,“开始任务”选择“按预定计划”,“开始”时间设置为一个比较靠后的日期,如2022/6/1(目的是让该计划不自动运行,可自行修改),运行频次为“一次”(图4)。接着切换到“操作”,在“程序或脚本”处输入“D:\2 vbs”。
操作同上,再新建一个记事本文档,输入下列的命令,保存为“edge.bat”,放置在桌面上备用。该命令的作用是在运行这个批处理时先启动Edge浏览器,接着再执行SCHTASKS命令来启动上述新建的任务计划。
"C:\Program Files(x86)\Microsoft\Edge\Application\msedcle.exe"。
SCHTASKS/run/TN"Edge上网时间控制"
这样,以后如果需要控制自己的上网时间,只要在桌面上以管理员身份启动“edge.bat”,那么就实现了使用应用程序的启动作为触发器来激活任务计划(图5)。