NSIS:安装、卸载时检查程序是否正在运行

系统 1811 0

原文 NSIS:安装、卸载时检查程序是否正在运行

如果我们要安装或升级的程序正在运行,文件肯定会替换不成功,以下代码可以提示用户结束正在运行的程序。

需要使用插件FindProcDLL.dll,下载路径:http://nsis.sourceforge.net/FindProcDLL_plug-in
 

开始安装时检查是否正在运行:

01 Function .onInit
02    ;关闭进程
03    Push $R0
04    CheckProc:
05      Push   "flighty.exe"
06      ProcessWork::existsprocess
07      Pop $R0
08      IntCmp $R0 0 Done
09      MessageBox MB_OKCANCEL|MB_ICONSTOP   "安装程序检测到 ${PRODUCT_NAME} 正在运行。$\r$\n$\r$\n点击 “确定” 强制关闭${PRODUCT_NAME},继续安装。$\r$\n点击 “取消” 退出安装程序。"   IDCANCEL Exit
10      Push   "hfkjc.exe"
11      Processwork::KillProcess
12      Sleep 1000
13      Goto CheckProc
14      Exit:
15      Abort
16      Done:
17      Pop $R0
18 FunctionEnd


开始卸载时检查是否正在运行:

01 Function un.onInit
02    MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2   "您确实要完全移除 $(^Name) ,及其所有的组件?"   IDYES +2
03    Abort
04    ;检测程序是否运行
05    FindProcDLL::FindProc   "flighty.exe"
06     Pop $R0
07     IntCmp $R0 1 0 no_run
08     MessageBox MB_ICONSTOP   "卸载程序检测到 ${PRODUCT_NAME} 正在运行,请关闭之后再卸载!"
09     Quit
10     no_run:
11 FunctionEnd


顺便提一句:如果你的程序被360误杀过,可以用这个提示用户关闭360才可以进行安装。

NSIS:安装、卸载时检查程序是否正在运行


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论