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

NSIS-检查进程是否存在(nsProcess不工作),process,nsis,Process,Nsis,对于我的NSIS卸载程序,我想检查进程是否正在运行。FindProcDLL在Windows 7 x64下无法工作,因此我尝试了nsProcess 我已从以下网站下载了1.6版: 如果在示例文件夹中启动nsProcessTest.nsi,则会出现以下错误: Section: "Find process" ->(FindProcess) !insertmacro: nsProcess::FindProcess Invalid command: nsProcess::_FindProcess E

对于我的NSIS卸载程序,我想检查进程是否正在运行。FindProcDLL在Windows 7 x64下无法工作,因此我尝试了nsProcess

我已从以下网站下载了1.6版:

如果在示例文件夹中启动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/
├── Include/
│   └── nsProcess.nsh
└── Plugins/
    ├── x86-ansi/
    │   └── nsProcess.dll
    └── x86-unicode/
        └── nsProcess.dll
NSIS 3.x:

NSIS/
├── Include/
│   └── nsProcess.nsh
└── Plugins/
    └── nsProcess.dll
NSIS/
├── Include/
│   └── nsProcess.nsh
└── Plugins/
    ├── x86-ansi/
    │   └── nsProcess.dll
    └── x86-unicode/
        └── nsProcess.dll
Plugins\x86 unicode
中的文件是
nsProcessW.dll
重命名为
nsProcess.dll
(责怪作者使其过于复杂!)


更一般地说,请参阅NSIS Wiki上的。

有关编译错误,您是否将nsProcess.nsh放在NSIS已安装文件夹的include目录中?对于nsProcess.dll文件是否相同?我正在Win7 x64下使用nsProcess FindProcess和KIllProcess,没有任何问题。它不应该是
Include
,而不是
Include
?@ivokosir谢谢,修复了我的答案