最新消息:

延时启动软件的几个方法及探索

nsis 永恒心锁 1826浏览 0评论

延时启动解决方案一:批处理方式

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)"
永恒心锁,版权所有丨如未注明,均为转载丨本网站采用BY-NC-SA协议进行授权

转载请注明:永恒心锁-分享互联网 » 延时启动软件的几个方法及探索

您必须 登录 才能发表评论!