NSIS:判断程序是否运行并进行卸载

原文 NSIS:判断程序是否运行并进行卸载

今天在评论里看到网友说要一个这样的功能,就简单写了一个,本来想做360杀手来着,但遗憾的是我从来不用360的东西,所在电脑上也没有360相关的软件进行测试,所以就写了一个“金山杀手”,代码是通用的,稍稍进行一下修改就成“360杀手”啦,哈哈~~

代码未作详细测试,但应该没有太大的问题,这里只是提一个思路,如有问题,大家有兴趣的自行修改吧。


代码附上:

01SetCompressor /SOLID lzma
02SetCompress force
03XPStyle on
04 
05OutFile "unkis.exe"
06Name "金山杀手"
07BrandingText "WwW.Flighty.CN"
08 
09;以下为检测运行文件方式,有一定局限性,不推荐。
10Section "卸载金山卫士"
11  FindProcDLL::FindProc "kxetray.exe"
12    Pop $R0
13    IntCmp $R0 1 0 no_run
14    MessageBox MB_ICONQuESTION|MB_YESNO "安装程序检测到 金山卫士 正在运行,您必须将其卸载才能进行下一步安装,是否现在进行卸载?" IDYES keep IDNO none
15  keep:
16    ExecWait 'C:\Program Files\Kingsoft\KSafe\uninst.exe'
17  none:
18    Quit
19    no_run:
20SectionEnd
21 
22;以下为注册表检测方式,两种方式可以选其一,不过,推荐使用注册表检测方式。
23Section "卸载金山卫士2"
24ReadRegStr $R2 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\金山卫士" "UninstallString"
25  StrCmp $R2 "" NO YES
26    YES:
27    MessageBox MB_ICONQuESTION|MB_YESNO "安装程序检测到 金山卫士 正在运行,您必须将其卸载才能进行下一步安装,是否现在进行卸载?" IDYES keep IDNO none
28  keep:
29    ExecWait $R2
30  none:
31    Quit
32    NO:
33SectionEnd
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值