自定义vbs脚本实现开机后延时启动指定程序的方法
概述
系统开机时,顺带自动启动了不少驱动程序,使得电脑开机后鼠标要呆滞许久。为了加快windows的开机速度,在参考网上不少大牛的资料后,整理出使用vbs脚本实现开机后延时启动程序的方法
vbs内容示例:
Dim delayer
Set delayer = CreateObject("WScript.Shell")
WScript.sleep 8000
delayer.Run """C:\Program Files(x86)\Kingsoft\Klive\Klive.exe""", 0, FALSE
Set delayer = Nothing
WScript.quit
vbs示例语句分析
#1#2#5#6语句是做一些变量声明、初始化和善后工作的。
#3语句:“WScript.sleep 8000”;其中8000标记延时的时间,以毫秒为单位8000表示延时8秒;
#4语句:delayer.Run"""C:\Program Files (x86)\Kingsoft\Klive\Klive.exe""",0, FALSE;
这个语句的关键是Run函数[3]有三个参数:
第一个参数:是启动程序的位置,特别注意:如果位置中有空格的话,需要像上面那样用三个双引号。
第二个参数:可用值是0~10这11个数字,每个数字的意义如下:
0 隐藏一个窗口并激活另一个窗口。
1 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。第一次显示该窗口时,应用程序应指定此标志。
2 激活窗口并将其显示为最小化窗口。
3 激活窗口并将其显示为最大化窗口。
4 按最近的窗口大小和位置显示窗口。活动窗口保持活动状态。
5 激活窗口并按当前的大小和位置显示它。
6 最小化指定的窗口,并按照 Z 顺序激活下一个顶部窗口。
7 将窗口显示为最小化窗口。活动窗口保持活动状态。
8 将窗口显示为当前状态。活动窗口保持活动状态。
9 激活并显示窗口。如果窗口处于最小化或最大化状态,则系统将其还原到原始大小和位置。还原最小化窗口时,应用程序应指定此标志。
10 根据启动应用程序的程序状态来设置显示状态。
第三个参数是表示这个脚本是等待还是继续执行,如果设为了true,脚本就会等待调用的程序退出后再向后执行。如果是FALSE就不等待程序返回就执行下一条语句。
自定义vbs脚本
通过上面的示例分析[2],相信应该了解了vbs脚本的写法了吧!
其实很简单,你只需复制方面的示例加入,在中间加入自定义的Sleep时间和Run程序的语句即可。
顺带提醒计算机知识较弱的网友,可以按下Win+R然后在框中输入msconfig命令,在“启动“选项框中查看到开机启动了哪些程序,将复选框取消,然后再对应的程序名和位置写入延时启动的vbs脚本中。
编写好vbs脚本文件之后,将其放到“启动”文件夹中让其vbs脚本开机运行就可以了。赶紧体验一下快速开机,很酷的!!!
一些问题和解决方法
不过在这个过程中,我个人遇到了一个问题:我电脑上的杀毒软件是金山毒霸,如果用以上方法启动时,启动金山毒霸时还是会弹出金三毒霸的主界面,我又有点不爽(原谅我吧).我只是希望金山毒霸能自己启动后安静地呆在系统托盘里。
怎么办呢?
恰巧我用msconfig查看金山毒霸启动项时,发现它启动的命令不只是程序位置,在其后面还有一个参数 -autorun。顿时懂了,原来金山毒霸的运行程序利用 –autorun这个参数来实现开机启动时不出现主界面而只是托盘化。
但是Run函数不能给启动的程序传递参数,这个又怎么办呢?
这时我想到了”快捷方式”这个东西,当你为一个exe文件创建快捷方式时,右键-》属性弹出的属性框中用”快捷方式”选项卡中有一项”目标”,其对应的就是目标文件的位置,你可以在这个地方时传参数。
以我的金山毒霸为例,其目标位置是:"D:\Program Files(x86)\kingsoft\kingsoft antivirus\kxetray.exe”,
其快捷方式属性中的目标一项中对应值也就是:"D:\Program Files(x86)\kingsoft\kingsoft antivirus\kxetray.exe”。
给其传递参数将目标这一项改为:"D:\Program Files(x86)\kingsoft\kingsoft antivirus\kxetray.exe” –autorun。
然后将vbs中Run函数的第一个参数改为快捷方式的位置,这样就可以间接地传递参数了。