pywin32: 自动化工作 win32api:提供了常用的用户API; win32gui:提供了有关用户界面图形操作的API; win32con:提供了消息常量的操作API; win32file:提供了文件操作的API; win32com:提供COM组件操作API。
这里主要学习win32gui,Let`s go.
首先安装pywin32 枚举所有窗口名称 import win32guihwnd_title = {} def get_all_hwnd (hwnd, mouse ): if (win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd)): hwnd_title.update({hwnd: win32gui.GetWindowText(hwnd)}) title_list = [] win32gui.EnumWindows(get_all_hwnd, 0 ) for h, t in hwnd_title.items(): if t : title_list.append(t) print (h, t)
测试如下
985914 tt.py - 无标题 (工作区) - Visual Studio Code 592812 (27条消息) python win32gui 自动化点击简单实例_Alfie happy的博客-CSDN博客_python win32gui 和另外 7 个页面 - 用户配置 1 - Microsoft Edge 656080 - 不散的花 - 酷狗音乐 泠鸢yousa 590752 下载 329780 Sandboxie-Plus v1.0.8 - 便携版 329586 lab2.0 65800 Program Manager
然后可以看到窗口标题前面的就是窗口句柄
根据句柄号取窗口位置 handleDetail = win32gui.GetWindowRect(句柄) print (handleDetail)
根据窗口标题取句柄号 handle = win32gui.FindWindow(None , '标题' ) print (handle)
窗口标题可以用任务管理器查看
通过句柄获取窗口类名 def get_clasname (hwnd ): clasname = win32gui.GetClassName(hwnd) print ('窗口类名:%s' % (clasname)) return clasname get_clasname("句柄值" )
通过句柄获取标题 title = win32gui.GetWindowText("句柄值" )
枚举子窗口 hwndChildList = [] win32gui.EnumChildWindows(handle, lambda hwnd, param: param.append(hwnd), hwndChildList) print (hwndChildList)
满分是10分的话,这篇文章你给几分,您的支持将鼓励我继续创作!
本文作者: 聆听·彼岸本文链接: https://ltba.github.io/20220721022520.html 版权声明: 本站未注明转载的文章均为原创,所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议.转载请注明出处!