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

2024-02-20

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

我从网站下载了1.6版本:http://nsis.sourceforge.net/NsProcess_plugin 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 is nsProcessW.dll重命名为nsProcess.dll(怪作者把事情搞得太复杂了!)

更一般地,请参阅如何安装插件? http://nsis.sourceforge.net/How_can_I_install_a_plugin%3F在 NSIS 维基上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NSIS - 检查进程是否存在(nsProcess 不工作) 的相关文章

  • C#,Process.Start 隐藏?

    public static void Main string args SearchGoogle Test Console ReadKey true static void SearchGoogle string t Process Sta
  • 在 Mac 上查找(并杀死)锁定端口 3000 的进程 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何找到 并终止 侦听 使用我的 TCP 端口的进程 我在 macOS 上 有时 在崩溃或出现一些错误后 我的 Rails 应用程序会锁定
  • Windows 服务和 Windows 进程有什么区别?

    是什么不同之处窗户之间service和一个窗户process 服务是真正的 Windows 进程 没有区别 服务的唯一特殊之处在于它由操作系统启动并在单独的会话中运行 一种独立的方式 可防止其干扰桌面会话 传统上命名为daemon http
  • C++ 进程管理 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有一个众所周知的 可移植的 好的 C 进程管理库 我发现了一个很有前途的图书馆叫做升压过程 htt
  • 进程终止时释放资源

    当进程被任务管理器等进程终止时 如何释放资源 有没有办法在进程关闭之前调用函数 如果您的进程被终止 您实际上无能为力 根据定义 杀死一个进程就是杀死它 该进程没有机会运行任何代码 这很大程度上是 设计使然 想象一下 您可以注册一个例程 当您
  • msinfo32 无法在 Windows XP 下的 NSIS 中运行

    以下 NSIS 行由于某种原因拒绝在 Windows XP 下运行 立即返回 ExecWait PROGRAMFILES Common Files Microsoft Shared MSInfo msinfo32 report DESKTO
  • 如何使用 NSIS 脚本检测 Windows 32 位或 64 位?

    我已经为java项目编写了nsis脚本 我的项目中有批处理文件 我已经为常见的Windows 32位和64位编写了批处理文件 安装后我已经使用自动启动批处理文件Exec命令 它在 32 位 Windows 中工作正常 但同时这在 64 位
  • Process.Start 阻塞

    我正在调用 Process Start 但它会阻止当前线程 pInfo new ProcessStartInfo C Windows notepad exe Start process mProcess new Process mProce
  • 即使进程确实存在,为什么 Process.WaitForExit 也会抛出“无进程”异常?

    我有一个包含以下代码的 Windows 服务 public static void ExtractTextInner string source string destination ProcessStartInfo startInfo n
  • PM2 和 DotEnv 在 ubuntu 服务器上无法工作的问题

    我知道这个问题有答案 但我不想再创建一个配置文件并加载所有配置并运行 pm2 进程 Project Structure env index js gt server is listening in this file routes mode
  • 启动 Firefox 并等待其关闭

    Question 我想启动 Firefox 网络浏览器作为访问特定网站的过程 然后等到它关闭 一种特殊情况是浏览器可能已经打开并正在运行 因为用户可能已经访问过某个网站 在这种情况下 浏览器可能会在现有窗口中打开一个新选项卡 并且新启动的进
  • 从 ProcessThreadCollection 中按名称获取正在运行的线程

    在搜索了 Stack Overflow 问题并进行了一些谷歌搜索后 我仍然没有得到它 我知道您可以使用 Thread isAlive 方法检查单个线程是否正在运行 但我想检查特定的 FooThread 是否仍在当前进程的所有正在运行的线程之
  • 从 Java 启动外部进程:stdout 和 stderr

    我正在使用标准从 java 启动一个外部进程java lang Process 我试图弄清楚该过程的输出是什么 但是采用结合了两者的格式stdout and stderr 目前 我有Process getInputStream它提供了访问s
  • C# 新进程窗口不隐藏[重复]

    这个问题在这里已经有答案了 可能的重复 在 C 应用程序中隐藏命令窗口 https stackoverflow com questions 3440105 hide command window in c sharp application
  • Linux 中有没有一种轻量级的方法来获取当前进程数?

    我希望我的 基于 C C 的 程序显示一个数字指示器 指示本地系统上当前有多少个进程 将经常查询正在运行的进程数值 例如每秒一次 以更新我的显示 有没有一种轻量级的方法来获取该数字 显然我可以调用 ps ax wc l 但我不想强迫计算机生
  • AMQP延迟传递并防止重复消息

    我有一个会偶尔生成消息的系统 我只想每 5 分钟提交零条或一条消息 如果没有生成消息 队列消费者将不会处理任何内容 如果 5 分钟内生成一百条相同的消息 我只希望从队列中使用其中一条 我正在使用AMQP RabbitMQ 有没有办法在rab
  • 使用 NSWorkspace 获取所有正在运行的进程

    我想获取 MacO 中所有正在运行的进程的列表 当我使用 myWorkspace runningApplications 我只得到当前用户应用程序的列表 我如何找到 root 或 mysql 所有者的所有进程的列表 看一下技术问答 QA11
  • 多线程进程的线程ID可以与另一个正在运行的进程的进程ID相同吗?

    我正在尝试找到一种方法来唯一标识多进程环境中的线程 我有一个服务器 它跟踪连接到它的不同进程 其中一些是多线程的 一些不是 为了识别多线程连接中的线程 我使用线程 ID 作为唯一标识符 在任何给定时间最多有 1 个多线程进程连接 我的问题是
  • 使用 Bash 按进程名称检查 Mac 进程是否正在运行

    如何使用 Bash 脚本中的进程名称检查 Mac OS X 上的进程是否正在运行 我正在尝试编写一个 Bash 脚本 如果进程已停止 它将重新启动进程 但如果进程仍在运行 则不执行任何操作 解析这个 ps aux grep v grep g
  • 向父进程发出信号,表明子进程已完全初始化

    我正在启动一个公开 WCF 端点的子进程 如何从子进程向父进程发出信号 表明子进程已完全初始化并且现在可以访问端点 我曾考虑过使用信号量来实现此目的 但不太清楚如何实现所需的信号 string pipeUri net pipe localh

随机推荐