NSIS - 检查进程是否存在(nsProcess 不工作)

NSIS - check if process exists (nsProcess not working)

对于我的 NSIS 卸载程序,我想检查进程是否为 运行。 FindProcDLL 在 Windows 7 x64 下不工作,所以我尝试了 nsProcess。

我已经从网站下载了 1.6 版本:http://nsis.sourceforge.net/NsProcess_plugin

如果我在 Example 文件夹中启动 nsProcessTest.nsi,我会收到以下错误:

Section: "Find process" ->(FindProcess)
!insertmacro: nsProcess::FindProcess
Invalid command: nsProcess::_FindProcess
Error in macro nsProcess::FindProcess on macroline 1
Error in script "C:\Users\Sebastian\Desktop\nsProcess_1_6\Example\nsProcessTest.nsi" on line 14 -- aborting creation process

这是示例脚本的第 14 行:

${nsProcess::FindProcess} "Calc.exe" $R0

有人知道哪里出了问题吗?如何检查进程是否为 运行 NSIS?

NSIS 未找到插件,因此请确保将其文件复制到正确的文件夹。

NSIS 2.x:

NSIS/
├── Include/
│   └── nsProcess.nsh
└── Plugins/
    └── nsProcess.dll

NSIS 3.x:

NSIS/
├── Include/
│   └── nsProcess.nsh
└── Plugins/
    ├── x86-ansi/
    │   └── nsProcess.dll
    └── x86-unicode/
        └── nsProcess.dll

Plugins\x86-unicode里面的文件nsProcessW.dll重命名为nsProcess.dll(怪作者写的太复杂了!)

更一般地说,请参阅 NSIS Wiki 上的 How can I install a plugin?