有時候,我們想要某軟體開機啟動,但又不要拖慢開機速度,那麼,延時啟動技術就顯得比較重要了。輕狂在這方面曾經研究過,也實作了自己想要的功能,看看我是怎麼做的吧!
延時啟動解決方案一:批處理方式
1、用批處理寫好延時啟動代碼,把這個批處理命名為“延時啟動輕狂志.bat”并在安裝應用軟體時釋放到安裝目錄下。
<code>01</code>
<code>@</code><code>echo</code> <code>off</code>
<code>02</code>
<code>03</code>
<code>if</code> <code>"%1"</code> <code>== </code><code>"h"</code> <code>goto begin</code>
<code>04</code>
<code>mshta vbscript:createobject(</code><code>"wscript.shell"</code><code>).run(</code><code>"%~nx0 h"</code><code>,0)(window.close)&</code><code>exit</code>
<code>05</code>
<code>:begin</code>
<code>06</code>
<code>07</code>
<code>ping</code> <code>-n 60 127.1>nul</code>
<code>08</code>
<code>start %</code><code>cd</code><code>%\輕狂志.exe</code>
<code>09</code>
<code>10</code>
<code>exit</code>
2、安裝應用軟體時建立這個批處理的快捷方式到系統的啟動目錄中。
<code>1</code>
<code>CreateShortCut </code><code>"$SMSTARTUP\延時啟動輕狂志.lnk"</code> <code>"$INSTDIR\延時啟動輕狂志.bat"</code>
這樣即可實作延時啟動的功能。
但有兩點不太完美:系統自動運作批處理時,會有一個黑框框閃一下。而且建立快捷方式時安全軟體會有“風險提示”,一不小心就會把快捷方式删掉了。
今天又研究了一個新的方法——延時啟動解決方案二:VBS方式
1、寫一個VBS腳本檔案“延時啟動輕狂志.vbs”并在安裝應用軟體時釋放到安裝目錄下。
<code>Dim delayer</code>
<code>2</code>
<code>Set delayer = CreateObject(</code><code>"WScript.Shell"</code><code>)</code>
<code>3</code>
<code>WScript.</code><code>sleep</code> <code>9000</code>
<code>4</code>
<code>delayer.Run </code><code>"輕狂志.exe"</code><code>, 0, FALSE</code>
<code>5</code>
<code>Set delayer = Nothing</code>
<code>6</code>
<code>WScript.quit</code>
2、安裝應用軟體時建立這個VBS腳本檔案的快捷方式到系統的啟動目錄中。
<code>CreateShortCut </code><code>"$SMSTARTUP\延時啟動輕狂志.lnk"</code> <code>"$INSTDIR\延時啟動輕狂志.vbs"</code>
這種方式與第一種相比:啟動時不會有黑框框顯示,但建立快捷方式時安全軟體依然會有“風險提示”。
那麼,我們通過NSIS做一個延時啟動的更新版!
1、建一個空内容的VBS腳本檔案“延時啟動輕狂志.vbs”并在安裝時釋放到安裝目錄下。
2、在NSIS腳本中對“延時啟動輕狂志.vbs”進行修改。
<code>;修改延時啟動檔案</code>
<code> </code><code>FileOpen $1 </code><code>"$INSTDIR\延時啟動輕狂志.vbs"</code> <code>w</code>
<code> </code><code>FileWrite $1 </code><code>'Dim delayer$\r$\n'</code>
<code> </code><code>FileWrite $1 </code><code>'Set delayer = CreateObject("WScript.Shell")$\r$\n'</code>
<code> </code><code>FileWrite $1 </code><code>'WScript.sleep 5000$\r$\n'</code>
<code> </code><code>FileWrite $1 </code><code>'delayer.Run """$INSTDIR\輕狂志.exe""", 0, FALSE$\r$\n'</code>
<code>7</code>
<code> </code><code>FileWrite $1 </code><code>'Set delayer = Nothing$\r$\n'</code>
<code>8</code>
<code> </code><code>FileWrite $1 </code><code>'WScript.quit$\r$\n'</code>
<code>9</code>
<code> </code><code>FileClose $1</code>
3、把修改後的VBS腳本檔案移動到作業系統啟動檔案夾中。
<code>;堆棧模式移動延時啟動檔案</code>
<code>Push </code><code>"$SMSTARTUP\延時啟動輕狂志.vbs"</code> <code>;目标檔案</code>
<code>Push </code><code>"$INSTDIR\延時啟動輕狂志.vbs"</code> <code>;來源檔案</code>
<code>System::Call </code><code>"Kernel32::MoveFileExA(t s,t s,i 2)"</code>
哈哈,這種方式既沒有黑框框顯示,安全軟體也不會提示風險(輕狂在2014年1月21日用新毒霸測試有效,不能保證長期有效或在其他安全軟體上有效。)