延时启动解决方案一:批处理方式
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)"
© 版权声明
THE END
暂无评论内容