NSIS教程(6): 使用第三方外掛
阿新 • • 發佈:2019-01-06
NSIS內建了很多指令,這些指令可以滿足我們基本需求,但難免會遇到NSIS沒有內建的功能,如程序操作,後臺執行(即多執行緒),7z壓縮等等,這個時候我們就需要藉助第三方外掛來滿足我們所需要的功能了。
一、外掛獲取
二、外掛使用
NSIS外掛以dll的形式存在,我們以KillProc
外掛為例(從名字上可以看出該外掛提供殺程序的功能),從http://nsis.sourceforge.net/KillProc_plug-in上下載下來的一般是一個壓縮包,解壓之後找到dll檔案,如KillProc.dll
檔案。
然後執行如下步驟:
將dll檔案拷貝到NSIS安裝目錄下的
Plugins\x86-ansi
在官方文件上找到該外掛提供的函式,以及函式的引數傳遞形式,返回值形式。NSIS中外掛函式的引數傳遞形式有2種形式:1) 使用
$0
~$9
,$R0
~$R9
來傳遞;2) 使用堆疊來傳遞。在NSIS指令碼中按照函式宣告的形式來呼叫,需要在函式名前加上dll名稱(不需要.dll字尾),如
KillProc::KillProcesses
。
Section
StrCpy $0 "foo.exe" # 變數賦值
KillProc::KillProcesses
StrCmp $1 "-1" wooops
wooops:
Abort
completed:
SectionEnd