|
发表于 2014-1-5 08:27:50
|
显示全部楼层
湖南省湘西土家族苗族自治州
- .版本 2
- .如果真 (取进程名 (, ProcName) ≠ ProcName)
- 编辑框3.加入文本 (“异常信息:目标进程不存在” + #换行符)
- .如果真结束
- .如果真 (IsWindow (HWND) ≠ 真)
- 编辑框3.加入文本 (“异常信息:目标窗口无效” + #换行符)
- .如果真结束
- .如果真 (IsHungAppWindow (HWND) = 真)
- 编辑框3.加入文本 (“异常信息:目标窗口未响应可能假死” + #换行符)
复制代码- .版本 2
- .子程序 取进程名, 文本型
- .参数 窗口句柄, 整数型, 可空, 取进程名
- .参数 FileName, 文本型, 可空, 判断进程是否存在 存在返回原进程名 否则返回空
- .局部变量 hHansna, 整数型
- .局部变量 info, LPPROCESSENTRY32
- .局部变量 hProcss, 整数型
- .局部变量 PID, 整数型
- hHansna = CreateToolhelp32Snapshot (15, 0)
- .如果真 (hHansna = 0)
- 返回 (“”)
- .如果真结束
- GetWindowThreadProcessId (窗口句柄, PID)
- info.dwSize = 1024
- hProcss = Process32First (hHansna, info)
- .判断循环首 (hProcss ≠ 0)
- .判断开始 (窗口句柄 > 0)
- .如果真 (info.th32ProcessID = PID)
- CloseHandle (hHansna)
- 返回 (到文本 (info.szExeFile_MAX_PATH_))
- .如果真结束
- .判断 (是否为空 (FileName) = 假)
- .如果真 (到文本 (info.szExeFile_MAX_PATH_) = FileName)
- CloseHandle (hHansna)
- 返回 (FileName)
- .如果真结束
- .默认
- .判断结束
- hProcss = Process32Next (hHansna, info)
- .判断循环尾 ()
- CloseHandle (hHansna)
- 返回 (“”)
复制代码 枚举进程 判断进程是否存在
IsWindow 判断窗口是否有效
IsHungAppWindow 判断窗口是否假死(假死就无响应了。)
补充内容 (2014-1-5 09:49):
窗口假死崩溃 一般都会进入未响应状态 IsHungAppWindow 都能检测出来并且不卡UI线程 |
评分
-
查看全部评分
|