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

标签 process nsis

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

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

如果我在示例文件夹中启动 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 (怪作者把它搞得太复杂了!)

更一般地,请参阅How can I install a plugin?在 NSIS 维基上。

关于process - NSIS - 检查进程是否存在(nsProcess 不工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36589736/

相关文章:

android - 其他进程可以看到总线事件吗?

python - 在 Python 中,我如何使用子进程而不是 os.system?

ruby - Program Files 下的文件具有人格 split

nsis - 向用户询问 NSIS 中的其他目录位置

java - Windows XP 上的 Lauch4J/NSIS 安装程序的代码签名?

c++ - C++ 项目中未定义 NORMAL_PRIORITY_CLASS

c# - Process.GetProcesses() 并按内存使用情况排序

C++游戏训练器进程监控

nsis - 如何检查文件是否被其他进程 NSIS 锁定/使用

代码块 NSIS 错误 : Error launching installer