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

原文 NSIS:延时启动软件的几个方法及探索

有时候,我们想要某软件开机启动,但又不要拖慢开机速度,那么,延时启动技术就显得比较重要了。轻狂在这方面曾经研究过,也实现了自己想要的功能,看看我是怎么做的吧!

 

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

1、用批处理写好延时启动代码,把这个批处理命名为“延时启动轻狂志.bat”并在安装应用软件时释放到安装目录下。

01@echo off
02 
03if "%1" == "h" goto begin
04mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&exit
05:begin
06 
07ping -n 60 127.1>nul
08start %cd%\轻狂志.exe
09 
10exit

2、安装应用软件时创建这个批处理的快捷方式到系统的启动目录中。

1CreateShortCut "$SMSTARTUP\延时启动轻狂志.lnk" "$INSTDIR\延时启动轻狂志.bat"

这样即可实现延时启动的功能。

但有两点不太完美:系统自动运行批处理时,会有一个黑框框闪一下。而且创建快捷方式时安全软件会有“风险提示”,一不小心就会把快捷方式删掉了。

 

今天又研究了一个新的方法——延时启动解决方案二:VBS方式

1、写一个VBS脚本文件“延时启动轻狂志.vbs”并在安装应用软件时释放到安装目录下。

1Dim delayer
2Set delayer = CreateObject("WScript.Shell")
3WScript.sleep 9000
4delayer.Run "轻狂志.exe", 0, FALSE
5Set delayer = Nothing
6WScript.quit

2、安装应用软件时创建这个VBS脚本文件的快捷方式到系统的启动目录中。

1CreateShortCut "$SMSTARTUP\延时启动轻狂志.lnk" "$INSTDIR\延时启动轻狂志.vbs"

这种方式与第一种相比:启动时不会有黑框框显示,但创建快捷方式时安全软件依然会有“风险提示”。

 

那么,我们通过NSIS做一个延时启动的升级版!

1、建一个空内容的VBS脚本文件“延时启动轻狂志.vbs”并在安装时释放到安装目录下。

2、在NSIS脚本中对“延时启动轻狂志.vbs”进行修改。

1;修改延时启动文件
2  FileOpen $1 "$INSTDIR\延时启动轻狂志.vbs" w
3  FileWrite $1 'Dim delayer$\r$\n'
4  FileWrite $1 'Set delayer = CreateObject("WScript.Shell")$\r$\n'
5  FileWrite $1 'WScript.sleep 5000$\r$\n'
6  FileWrite $1 'delayer.Run """$INSTDIR\轻狂志.exe""", 0, FALSE$\r$\n'
7  FileWrite $1 'Set delayer = Nothing$\r$\n'
8  FileWrite $1 'WScript.quit$\r$\n'
9  FileClose $1

3、把修改后的VBS脚本文件移动到操作系统启动文件夹中。

1;堆栈模式移动延时启动文件
2Push "$SMSTARTUP\延时启动轻狂志.vbs" ;目标文件
3Push "$INSTDIR\延时启动轻狂志.vbs" ;来源文件
4System::Call "Kernel32::MoveFileExA(t s,t s,i 2)"

哈哈,这种方式既没有黑框框显示,安全软件也不会提示风险(轻狂在2014年1月21日用新毒霸测试有效,不能保证长期有效或在其他安全软件上有效。)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值