今天在评论里看到网友说要一个这样的功能,就简单写了一个,本来想做360杀手来着,但遗憾的是我从来不用360的东西,所在电脑上也没有360相关的软件进行测试,所以就写了一个“金山杀手”,代码是通用的,稍稍进行一下修改就成“360杀手”啦,哈哈~~
代码未作详细测试,但应该没有太大的问题,这里只是提一个思路,如有问题,大家有兴趣的自行修改吧。

代码附上:
SetCompressor /SOLID lzma
SetCompress force
XPStyle on
OutFile "unkis.exe"
Name "金山杀手"
BrandingText "WwW.Flighty.CN"
;以下为检测运行文件方式,有一定局限性,不推荐。
Section "卸载金山卫士"
FindProcDLL::FindProc "kxetray.exe"
Pop $R0
IntCmp $R0 1 0 no_run
MessageBox MB_ICONQuESTION|MB_YESNO "安装程序检测到 金山卫士 正在运行,您必须将其卸载才能进行下一步安装,是否现在进行卸载?" IDYES keep IDNO none
keep:
ExecWait 'C:\Program Files\Kingsoft\KSafe\uninst.exe'
none:
Quit
no_run:
SectionEnd
;以下为注册表检测方式,两种方式可以选其一,不过,推荐使用注册表检测方式。
Section "卸载金山卫士2"
ReadRegStr $R2 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\金山卫士" "UninstallString"
StrCmp $R2 "" NO YES
YES:
MessageBox MB_ICONQuESTION|MB_YESNO "安装程序检测到 金山卫士 正在运行,您必须将其卸载才能进行下一步安装,是否现在进行卸载?" IDYES keep IDNO none
keep:
ExecWait $R2
none:
Quit
NO:
SectionEnd
|