NSIS安装过程中判断程序是否运行中,FindProcDLL和KillProcDLL
来源:互联网 发布:福昕阅读器mac版 编辑:程序博客网 时间:2024/06/05 20:32
FindProcDLL::FindProc {process_name} 返回值: 0 - 未找到 1 - 找到
KillProcDLL::KillProc {process_name} 0 - 杀进程成功 603 - 未找到此进程(也有可能是无法访问进程,如因用户权限问题等) 其它 - 各种错误
所以,在杀进程时,如果返回603,最后再findproc一下,确认是否进程不存在。 一般示例代码:
!macro DefFunc_ForceKillProcess unFunction ${un}ForceKillProcess Pop $0 ; module name Pop $1 ; exe nametry_kill_one: KillProcDLL::KillProc "$1" Pop $R0 IntCmp $R0 0 try_kill_one ; 返回0表示杀进程成功,则应继续杀此进程名的其它进程 IntCmp $R0 603 check_no_more ; 返回603表示没找到此进程,有两种情况:a) 确实没有此进程 b) 因权限等原因无法访问此进程,如果第2种,应认为杀进程失败,所以需要进一步检查fail_to_kill: ; KillProc返回值非0非603,或返回603但实际上此进程仍存在,均表示杀进程失败MessageBox MB_ICONSTOP "无法终止 $0 ($1),请手动终止此程序后重试"Quitcheck_no_more:FindProcDLL::FindProc "$1"Pop $R0IntCmp $R0 1 fail_to_kill ; 如果FindProc结果为1,表示找到了程序,说明杀进程失败,否则继续no_more:FunctionEnd!macroend
0 0
- NSIS安装过程中判断程序是否运行中,FindProcDLL和KillProcDLL
- NSIS 卸载时判断程序是否运行
- 安装前判断进程中是否有程序在运行
- NSIS打包,判断当前程序是否在运行
- VC中判断程序是否已运行
- 判断程序是否在虚拟机中运行
- NSIS 卸载、安装检测程序是否在运行
- NSIS判断FrameWork是否安装
- 在VB和VB.NET程序中判断当前是否运行于开发环境中
- 在VB和VB.NET程序中判断当前是否运行于开发环境中
- InnoSetup 安装和卸载时判断程序是否运行
- 调用API判断程序是否正在运行中
- NSIS 检测程序是否在运行.
- Wix安装程序中判断是否安装的.netframwork4.5
- android中判断服务和进程是否运行
- Nsis 宏定义安装卸载过程中调用的函数
- Android 判断手机中是否有某个安装程序
- IOS中如何判断程序是否是第一次安装使用
- windows批处理一次打开多个互补的软件/文件
- JSON.parse(str)报错Unexpected token t in JSON at position 1
- 活动选择
- ES6中的Object.is()判断对象是否相等
- spring中jar包依赖
- NSIS安装过程中判断程序是否运行中,FindProcDLL和KillProcDLL
- PGSQL简单的触发器的实例
- Progressive Web App模仿原生应用的Web应用
- Linux学习总结(24)——Linux查找文件命令
- JAVAWEB开发之JSTL标签库的使用、 自定义EL函数、自定义标签(带属性的、带标签体的)
- qt中程序崩溃生成dump文件
- 正能量之职场压力
- Access2016学习9
- 23种设计模式——桥接模式