NSIS打包,判断当前程序是否在运行

编译完成后会后两个方法,一个是un.onInit,卸载程序;一个是un.onUninstSuccess卸载成功提示

我们一般在安装程序的时候以及卸载,需要判断一下,要不程序正在运行,删不了它。

添加这两个方法就行。

安装时候判断

Function .onInit
FindProcDLL::FindProc "${PRODUCT_NAME_EXE}.exe"
   Pop $R0
   IntCmp $R0 1 0 no_run
   MessageBox MB_ICONSTOP "安装程序检测到$(^Name)正在运行,请退出程序后重试"
   Quit
   no_run:

FunctionEnd

卸载时候判断

Function un.onInit
  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "你确实要完全移除$(^Name),其及所有的组件?" IDYES +2
  Abort
  FindProcDLL::FindProc "${PRODUCT_NAME_EXE}.exe"
   Pop $R0
   IntCmp $R0 1 0 no_run
   MessageBox MB_ICONSTOP "安装程序检测到$(^Name)正在运行,请退出程序后重试"
   Quit
   no_run:
FunctionEnd

里面需要用到一个FindProcDLL.dll文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赫凯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值