杉宫竹苑工作室

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1768|回复: 0

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

[复制链接]
发表于 2015-2-3 22:13:28 | 显示全部楼层 |阅读模式

正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!

您需要 登录 才可以下载或查看,没有账号?立即注册

x

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


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

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

  1. @echo off

  2. if "%1" == "h" goto begin
  3. mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&exit
  4. :begin

  5. ping -n 60 127.1>nul
  6. start %cd%\轻狂志.exe

  7. exit
复制代码

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

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

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

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


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

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

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

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

  1. CreateShortCut "$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. ;堆栈模式移动延时启动文件
  2. Push "$SMSTARTUP\延时启动轻狂志.vbs" ;目标文件
  3. Push "$INSTDIR\延时启动轻狂志.vbs" ;来源文件
  4. System::Call "Kernel32::MoveFileExA(t s,t s,i 2)"
复制代码

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


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SgzyStudio

GMT+8, 2024-5-15 17:37 , Processed in 0.114156 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表