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)