【NSIS】安装或卸载时使用nsProcess检查程序是否正在运行

您所在的位置:网站首页 win10正在运行的程序怎么删除 【NSIS】安装或卸载时使用nsProcess检查程序是否正在运行

【NSIS】安装或卸载时使用nsProcess检查程序是否正在运行

2024-07-13 07:14| 来源: 网络整理| 查看: 265

NSIS版本:3.0.6

NsProcess版本:1.6

例子:检查Excel程序是否在运行

 1、下载NsProcess

下载NsProcess,将nsProcess.dll、nsProcessW.dll拷贝到NSIS的插件路径C:\Program Files (x86)\NSIS\Plugins\x86-ansi。

2、编写检查脚本

在安装脚本中编写Macro,在检测到进程存在后弹出提示,并退出安装或卸载。

!macro FindProcess StrCpy $1 "excel.exe" nsProcess::_FindProcess "$1" Pop $R0 ${If} $R0 = 0 MessageBox MB_OK|MB_ICONSTOP "程序检测到 Excel 正在运行,请关闭Excel重新开始!" IDOK Abort ${EndIf} !macroend

3、在Function .onInit和un.onInit中分别调用

Function .onInit !insertmacro FindProcess FunctionEnd Function un.onInit !insertmacro FindProcess MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "你确实要完全移除 $(^Name) ,其及所有的组件?" IDYES +2 FunctionEnd

4、在安装或者卸载程序启动时先检测进程是否存在,如果存在提示并退出执行

 

 

 

  

 参考:

Function Call in .onInit and un.oninit - NSIS Forums (nsis-dev.github.io) 

NsProcess plugin - NSIS (sourceforge.io)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3