NSIS 内置了很多指令,这些指令可以满足我们基本需求,但难免会遇到 NSIS 没有内置的功能,如进程操作,后台运行(即多线程),7z 压缩等等,这个时候我们就需要借助第三方插件来满足我们所需要的功能了。
一、插件获取
NSIS 官方收录插件的网址是:
http://nsis.sourceforge.net/Category:Plugins
我们可以在这个网站上查找和下载我们需要的插件,该网站上针对每个插件都提供了比较完善的示例。
二、插件使用
NSIS 插件以 dll 的形式存在,我们以KillProc
插件为例(从名字上可以看出该插件提供杀进程的功能),我们下载下来的一般是压缩包,解压之后找到对应插件 dll 文件,如KillProc.dll
文件。
使用步骤如下:
将 dll 文件拷贝到 NSIS 安装目录下的
Plugins\x86-ansi
目录(Unicode 插件需要拷贝到Plugins\x86-unicode
目录)。在官方文档上找到该插件所提供的函数,以及函数的参数传递形式、返回值形式。
NSIS 中插件函数的参数传递形式有 2 种形式:- 使用
$0 ~ $9
,$R0 ~ $R9
来传递。 - 使用堆栈来传递。
- 使用
在 NSIS 脚本中按照函数声明的形式来调用,需要在函数名前加上 dll 名称(不需要.dll 后缀),如
KillProc::KillProcesses
。
1 | Section |