首页 > 代码库 > VBS脚本完美实现开机延时启动

VBS脚本完美实现开机延时启动

目录

概述
vbs内容示例:
vbs示例语句分析
自定义vbs脚本
一些问题和解决方法
 

概述

  系统开机时,顺带自动启动了不少驱动程序,使得电脑开机后鼠标要呆滞许久。为了加快windows的开机速度,在参考网上不少大牛的资料后,整理出使用vbs脚本利实现开机后延时启动程序的方法
 

vbs内容示例:

  #1 Dim delayer
 
  #2 Set delayer = CreateObject("WScript.Shell")
 
  #3 WScript.sleep 8000
 
  #4 delayer.Run """C:\Program Files(x86)\Kingsoft\Klive\Klive.exe""", 0, FALSE
 
  #5 Set delayer = Nothing
 
  #6 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]有三个参数:(实际使用的时候将#1#2#3#4#5#6去掉)
 
  第一个参数:是启动程序的位置,特别注意:如果位置中有空格的话,需要像上面那样用三个双引号。
 
  第二个参数:可用值是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函数的第一个参数改为快捷方式的位置,这样就可以间接地传递参数了。
 

参考网址有:

http://tsky.cc/post/the-program-delayed-start.html

http://blog.csdn.net/fastong/article/details/2145731

http://hi.baidu.com/iscriptdada/item/789c41c23e5be143bcef69e6

http://ishare.iask.sina.com.cn/f/24130225.html?retcode=0

 

全文完,如果网友还有其他更帅的方法,一起分享分享吧!