python中的句柄操作
python中的句柄操作
制作人:全心全意
通过窗口标题获取句柄
import win32gui hld = win32gui.FindWindow(None,u"Adobe Acrobat") #返回窗口标题为Adobe Acrobat的句柄
通过父窗口句柄获取子句柄
#parent为父窗口句柄id def get_child_windows(parent): ''' 获得parent的所有子窗口句柄 返回子窗口句柄列表 ''' if not parent: return hwndChildList = [] win32gui.EnumChildWindows(parent, lambda hwnd, param: param.append(hwnd), hwndChildList) return hwndChildList
根据句柄获取句柄标题和类名
import win32gui title = win32gui.GetWindowText(jbid) #jbid为句柄id #获取标题 clsname = win32gui.GetClassName(jbid) #获取类名
根据句柄获取窗口位置
import win32gui left, top, right, bottom = win32gui.GetWindowRect(jbid) #分别为左、上、右、下的窗口位置
根据句柄进行点击操作
import win32api,win32con win32api.SetCursorPos([横坐标, 纵坐标]) #根据横纵坐标定位光标 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP | win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) #给光标定位的位置进行单击操作(若想进行双击操作,可以延时几毫秒再点击一次) win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP | win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0) #给光标定位的位置进行右击操作
根据句柄将窗口放在最前
win32gui.SetForegroundWindow(jbid)