pywin32实践 判断程序窗口是否失去响应
来源:互联网 发布:阿里云上海机房在哪里 编辑:程序博客网 时间:2024/05/18 02:22
有时候windows程序会出现”卡死”的情况,在任务管理器中一目了然。那么问题来了,万一程序在后台或者远程运行,要如何知道程序是否未响应呢?这里分享一个利用pywin32的实现方法。
获取windows窗口对应的进程ID
hWndList = []# 获取窗口句柄win32gui.EnumWindows(lambda hWnd, param: param.append(hWnd), hWndList)# 迭代for hWnd in hWndList: # 获取窗口句柄对应的线程ID和进程ID threadId, process_id = win32process.GetWindowThreadProcessId(hWnd) print(threadId, process_id)
获取进程名和进程ID
# instance表示进程实例(可重名)junk, instances = win32pdh.EnumObjectItems(None, None,'process', win32pdh.PERF_DETAIL_WIZARD)proc_ids=[]proc_dict={}for instance in instances: if instance in proc_dict: proc_dict[instance] = proc_dict[instance] + 1 else: proc_dict[instance]=0for instance, max_instances in proc_dict.items(): for inum in range(max_instances+1): hq = win32pdh.OpenQuery() path = win32pdh.MakeCounterPath( (None,'process',instance, None, inum,'ID Process') ) counter_handle=win32pdh.AddCounter(hq, path) win32pdh.CollectQueryData(hq) type, val = win32pdh.GetFormattedCounterValue(counter_handle, win32pdh.PDH_FMT_LONG) proc_ids.append((instance,str(val))) win32pdh.CloseQuery(hq) proc_ids.sort()
判断窗口是否未响应
# 迭代进程IDfor i in range(0, len(sys_ids)): # 匹配进程ID和进程名 if(sys_ids[i] == process_id and process_name == proc_names[i]): # 判断窗口状态 status = checkStatus(hWnd) status_list.append(status)status_code = -1if(len(status_list)>=1): status_code = set(status_list).pop()
部分代码来自网络,欢迎讨论。
阅读全文
0 0
- pywin32实践 判断程序窗口是否失去响应
- 判断程序是否无响应
- 判断程序是否无响应
- VC如何判断窗口是否无响应
- CPropertySheet失去焦点后程序失去响应
- 如何在程序窗口中判断键盘是否按下?
- 判断窗口是否可用
- 判断窗口是否关闭
- 判断窗口是否退出
- 判断窗口是否退出
- 脚本开发教程分享:如何用按键精灵判断窗口是否无响应或卡屏呢
- Windows根据程序标题查找正在运行的程序的HWND--判断窗口程序是否运行
- win2008R2、win7不停闪屏、程序失去响应的解决办法
- c free时程序失去响应或崩溃
- 文本框失去焦点后js判断输入是否为数字
- Win32判断当前进程是否激活(失去焦点)
- 判断父窗口是否关闭
- C# 判断窗口是否打开
- android之酷炫的Activity切换动画,打造更好的用户体验
- haproxy使用详解
- (转)Lock和synchronized比较详解
- U3D 优化技术
- QFileDialog setFilters QT4 转换为 QT5
- pywin32实践 判断程序窗口是否失去响应
- 我的计算机情缘
- TweenMax动画库学习-陈亚博客
- Linux 源码包安装之脚本安装
- 巧借Google analytics的cookie信息将在线营销渠道转换来源记录到CRM数据库
- AutoEncoder自动编码器
- 关闭比特币交易所与ICO可能会引发"眼镜蛇效应"(Meddling With Bitcoin Exchanges and ICOs Likely to Trigger Cobra Effect)
- bzoj1923 [Sdoi2010]外星千足虫(gauss)
- 51nod 1632B君的连通(简单数学)