开机延迟启动指定程序的VBS脚本

我有一个程序,希望它开机自动启动且最小化运行,但这个程序没有提供设置开机启动的功能。如果把它的快捷方式加入到“启动”文件夹中,对开机速度会有比较大的影响,且启动后不会自行最小化。

为达到这个目的,我想编写一小段vbs脚本,开机时运行脚本,由脚本来实现延时一段时间后以最小化窗口的方式启动指定程序的功能。查了一下资料,发现只需使用WScript.Shell.Run和WScript.Sleep即可实现。

WScript.Shell是WSH提供的一个工具对象,可用来与特殊文件夹交互,如Desktop和My Documents,还允许你运行程序,管理快捷方式,以及查看PATH这样的环境变量,操作注册表等。Run是WScript.Shell的一个方法。

Run(strCommand, [intWindowStyle], [bWaitOnReturn])
在一个单独的窗口中运行一个程序。这里有三个参数:

strCommand        要运行的命令:该字符串应该列出它所需的程序以及任何参数的名称
intWindowStyle    要创建的窗口的大小。若这个值为1,正常地打开窗口;3,最大化地打开窗口;7最小化地打开窗口(作为一个图标)
bWaitOnReturn     一个布尔值。True,脚本等待直到程序终止并返回其错误状态,作为从Run返回的值。False,或忽略了这个值,程序启动后脚本继续运行,并且Run方法返回0。

给WScript.Sleep一个整数参数time,可使脚本等待一段时间,time的单位是毫秒。

以下是实现这一功能的脚本。把这段脚本放到windows的“启动”文件夹内即可。

'15s后启动program.exe
set ws = wscript.createobject("wscript.shell")
programPath = chr(34) & "D:Program Files (x86)programprogram.exe" & chr(34)
Wscript.sleep 15000
ws.run programPath, 7

需要注意的是,程序路径中包含空格,为此,必须在路径字符串前后都加上chr(34)。

另外,不使用函数的返回值时,函数只能作为子例程来调用(不能用括号把参数括起来)。

原文地址:https://www.cnblogs.com/DigiK0ne/p/4038524.html