NSIS查找和杀进程详解
来源:互联网 发布:淘宝怎么截图发给别人 编辑:程序博客网 时间:2024/06/16 21:07
FindProcDLL::FindProc {process_name}
返回值:
0 - 未找到
1 - 找到
KillProcDLL::KillProc {process_name}
0 - 杀进程成功
603 - 未找到此进程(也有可能是无法访问进程,如因用户权限问题等)
其它 - 各种错误
所以,在杀进程时,如果返回603,最后再findproc一下,确认是否进程不存在。
一般示例代码:
!macro DefFunc_ForceKillProcess un
Function ${un}ForceKillProcess
Pop $0 ; module name
Pop $1 ; exe name
try_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),请手动终止此程序后重试"
Quit
check_no_more:
FindProcDLL::FindProc "$1"
Pop $R0
IntCmp $R0 1 fail_to_kill ; 如果FindProc结果为1,表示找到了程序,说明杀进程失败,否则继续
no_more:
FunctionEnd
!macroend
返回值:
0 - 未找到
1 - 找到
KillProcDLL::KillProc {process_name}
0 - 杀进程成功
603 - 未找到此进程(也有可能是无法访问进程,如因用户权限问题等)
其它 - 各种错误
所以,在杀进程时,如果返回603,最后再findproc一下,确认是否进程不存在。
一般示例代码:
!macro DefFunc_ForceKillProcess un
Function ${un}ForceKillProcess
Pop $0 ; module name
Pop $1 ; exe name
try_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),请手动终止此程序后重试"
Quit
check_no_more:
FindProcDLL::FindProc "$1"
Pop $R0
IntCmp $R0 1 fail_to_kill ; 如果FindProc结果为1,表示找到了程序,说明杀进程失败,否则继续
no_more:
FunctionEnd
!macroend
- NSIS查找和杀进程详解
- NSIS详解
- NSIS 进程操作
- NSIS脚本详解
- NSIS脚本详解
- NSIS脚本详解
- NSIS脚本详解
- NSIS脚本详解
- delphi查找和结束进程
- delphi查找和结束进程
- VC 查找进程和关闭进程
- 进程查找关闭和进程信息查询
- 通过进程名称查找和杀死进程
- 线程和进程详解
- window查找进程杀除进程
- NSIS杀死进程(包括多个)
- NSIS
- NSIS
- Ado.net继续学习_人力管理系统开发
- 单例模式(singleton)
- java 自学日志【九】---多线程
- ubuntu11.10开机使用root账户启动terminal
- Android之将logcat信息保存本地
- NSIS查找和杀进程详解
- 阿里巴巴2013实习生笔试题精选2道算法题
- vb6.0做一个半透明窗体(全透)
- Windows API一日一练(70)GetSystemTime和GetLocalTime函数
- 视频流中的DTS/PTS
- IPV6 路由设置
- ubuntu mysql-5.1.62源码安装
- Uva 11300 By ACReaper
- php对文件的操作