有时候,我们想要某软件开机启动,但又不要拖慢开机速度,那么,延时启动技术就显得比较重要了。轻狂在这方面曾经研究过,也实现了自己想要的功能,看看我是怎么做的吧!
延时启动解决方案一:批处理方式
1、用批处理写好延时启动代码,把这个批处理命名为“延时启动轻狂志.bat”并在安装应用软件时释放到安装目录下。
@echo off if "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&exit :begin ping -n 60 127.1>nul start %cd%\轻狂志.exe exit |
2、安装应用软件时创建这个批处理的快捷方式到系统的启动目录中。
CreateShortCut "$SMSTARTUP\延时启动轻狂志.lnk" "$INSTDIR\延时启动轻狂志.bat" |
这样即可实现延时启动的功能。
但有两点不太完美:系统自动运行批处理时,会有一个黑框框闪一下。而且创建快捷方式时安全软件会有“风险提示”,一不小心就会把快捷方式删掉了。
今天又研究了一个新的方法——延时启动解决方案二:VBS方式
1、写一个VBS脚本文件“延时启动轻狂志.vbs”并在安装应用软件时释放到安装目录下。
Dim delayer Set delayer = CreateObject("WScript.Shell") WScript.sleep 9000 delayer.Run "轻狂志.exe", 0, FALSE Set delayer = Nothing WScript.quit |
2、安装应用软件时创建这个VBS脚本文件的快捷方式到系统的启动目录中。
CreateShortCut "$SMSTARTUP\延时启动轻狂志.lnk" "$INSTDIR\延时启动轻狂志.vbs" |
这种方式与第一种相比:启动时不会有黑框框显示,但创建快捷方式时安全软件依然会有“风险提示”。
那么,我们通过NSIS做一个延时启动的升级版!
1、建一个空内容的VBS脚本文件“延时启动轻狂志.vbs”并在安装时释放到安装目录下。
2、在NSIS脚本中对“延时启动轻狂志.vbs”进行修改。
;修改延时启动文件 FileOpen $1 "$INSTDIR\延时启动轻狂志.vbs" w FileWrite $1 'Dim delayer$\r$\n' FileWrite $1 'Set delayer = CreateObject("WScript.Shell")$\r$\n' FileWrite $1 'WScript.sleep 5000$\r$\n' FileWrite $1 'delayer.Run """$INSTDIR\轻狂志.exe""", 0, FALSE$\r$\n' FileWrite $1 'Set delayer = Nothing$\r$\n' FileWrite $1 'WScript.quit$\r$\n' FileClose $1 |
3、把修改后的VBS脚本文件移动到操作系统启动文件夹中。
;堆栈模式移动延时启动文件 Push "$SMSTARTUP\延时启动轻狂志.vbs" ;目标文件 Push "$INSTDIR\延时启动轻狂志.vbs" ;来源文件 System::Call "Kernel32::MoveFileExA(t s,t s,i 2)" |
哈哈,这种方式既没有黑框框显示,安全软件也不会提示风险(轻狂在2014年1月21日用新毒霸测试有效,不能保证长期有效或在其他安全软件上有效。)