自定义vbs脚本实现开机后延时启动指定程序的方法

所属分类: 脚本专栏 / vbs 阅读数: 281
收藏 0 赞 0 分享

概述

  系统开机时,顺带自动启动了不少驱动程序,使得电脑开机后鼠标要呆滞许久。为了加快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函数的第一个参数改为快捷方式的位置,这样就可以间接地传递参数了。

更多精彩内容其他人还在看

vbscript Split函数用法详解(字符串转数组函数)

本文详细介绍了vbscript中split函数的用法,有关split函数的一些实例,vbscript中split函数的语法介绍,有需要的朋友参考下
收藏 0 赞 0 分享

VBS实现将Excel表格保存为txt文本

希望能够找到个能给excel表另存为TXT的VBS代码,虽然另存为可以选择,但还是需要直接VBS执行这一步另存为TXT格式的,应该如何写代码呢
收藏 0 赞 0 分享

vbs解决处理TXT文本数据相关问题实现代码

使用vbs处理txt数据时,会遇到一些问题,本文将提供详细的解决方法,希望可以帮助你们
收藏 0 赞 0 分享

关于vbs 生成静态页面过程中出现的问题

访问某个aspx页面,然后把服务器返回的页面以filestream 的形式保存为html格式,接下来将介绍实现代码
收藏 0 赞 0 分享

dim函数第三个参数设置截取字符的长度问题

dim函数的第三个参数,也就是截取字符的长度,我在设置这个的时候,出了些问题,提示无效的过程调用或参数,本文详细介绍如何解决
收藏 0 赞 0 分享

邪恶的eval和new Function使用介绍

这些代码可以干什么?可以肯定的是可以干很多猥琐的事
收藏 0 赞 0 分享

WScript.Shell对象SpecialFolders属性未公开文档分享

WshShell对象的SpecialFolders属性返WshSpecialFolders 对象,该对象是一个特殊文件夹集合,其中包含整套Windows特殊文件夹
收藏 0 赞 0 分享

用VBS修改(设置)系统时间和日期的代码

用 VBS 把系统的时间修改到2038年1月19日3时14分07秒之后,这样某些依赖于 Unix 时间戳的程序就会出问题。那么怎样用 VBS 修改系统的时间呢
收藏 0 赞 0 分享

VBS For Next循环的一些细节

For Next 语句是 VBS 中常用的循环语句,你可能已经用过无数次 For Next 循环,但是你是否注意过它的一些细节呢
收藏 0 赞 0 分享

VBS For Next循环的陷阱分享

在《VBS For Next循环的一些细节》中说到了 For Next 循环的控制变量仅仅在循环开始前求值一次,但是其中存在一处陷阱
收藏 0 赞 0 分享
查看更多