永发信息网

NSIS 如何在卸载时检测软件是否运行并提示用户

答案:2  悬赏:60  手机版
解决时间 2021-02-10 03:43
  • 提问者网友:萌卜娃娃
  • 2021-02-09 09:40
大意如题,为何下面的代码不成功Function un.onInit
FindProcDLL::FindProc "$(^Name).exe"
Pop $0
IntCmp $0 1 0 no_run
MessageBox MB_ICONSTOP "(你的程序)正在运行,请先关闭程序!"
Quit
no_run:
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "你确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2
Abort
FunctionEnd难道FindProcDLL这个还需要声明?
最佳答案
  • 五星知识达人网友:摆渡翁
  • 2021-02-09 10:57
哈哈,在你的空间里找到了答案!Function un.onInit
FindProcDLL::FindProc "BatchExecSQL.exe"
Pop $R0
StrCmp $R0 "1" AA BB
AA:
MessageBox MB_ICONSTOP "BatchExecSQL.exe正在运行,请先关闭程序!"
Quit
BB:
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "你确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2
Abort
FunctionEnd
全部回答
  • 1楼网友:上分大魔王
  • 2021-02-09 11:22
function un.oninit findprocdll::findproc "batchexecsql.exe" pop $r0 strcmp $r0 "1" aa bb aa: messagebox mb_iconstop "batchexecsql正在运行,请先关闭程序!" quit bb: messagebox mb_iconquestion|mb_yesno|mb_defbutton2 "你确实要完全移除 $(^name) ,及其所有的组件?" idyes +2 abort functionend 试试看这段代码!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯