獲取窗體句柄
handle = win32gui.FindWindow('Galaxy2DEngine',None)
獲取窗體位置
left, top, right, bottom = win32gui.GetWindowRect(handle)
移動(dòng)窗口 handle表示要移動(dòng)的窗口; x,y指與屏幕左上角距離; w h 指寬和高; bRepaint :是否重繪
win32gui.MoveWindow(handle, int x, int y, int w,int h,BOOL bRepaint )
獲取當(dāng)前鼠標(biāo)坐標(biāo)
pos = win32gui.GetCursorPos()
設(shè)置當(dāng)前鼠標(biāo)坐標(biāo)
win32api.SetCursorPos([x, y])
獲取句柄的標(biāo)題、類名
title = win32gui.GetWindowText(handle)
clsname = win32gui.GetClassName(handle)
模擬鼠標(biāo)左鍵 按下 放開熊昌。
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
模擬鼠標(biāo)右鍵 按下 放開蹬刷。
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
win32方式 移動(dòng)并點(diǎn)擊 可后臺(tái)操作 click_it(390, 162)
def click_it(self,x,y):
#設(shè)置鼠標(biāo)位置
win32api.SetCursorPos([x, y])
#獲取鼠標(biāo)位置
pos = win32api.GetCursorPos()
#通過鼠標(biāo)位置獲取窗體句柄
handle= win32gui.WindowFromPoint(pos)
#通過窗體名稱獲取窗體句柄(可通過spy++獲取)
#handle = win32gui.FindWindow('Galaxy2DEngine',None)
#獲取Title & ClassName
title = win32gui.GetWindowText(handle)
clsname = win32gui.GetClassName(handle)
#把在屏幕上鼠標(biāo)的位置轉(zhuǎn)換為打開的程序的客戶區(qū)的坐標(biāo)
client_pos =win32gui.ScreenToClient(handle,pos)
tmp=win32api.MAKELONG(client_pos[0],client_pos[1])
#發(fā)送激活窗口消息 并發(fā)送鼠標(biāo)按下-抬起消息,依賴具體的窗體(handle)逼裆,窗體內(nèi)位置(tmp)
win32gui.SendMessage(handle, win32con.WM_ACTIVATE,win32con.WA_ACTIVE,0)
win32gui.SendMessage(handle, win32con.WM_LBUTTONDOWN,win32con.MK_LBUTTON,tmp)
win32gui.SendMessage(handle, win32con.WM_LBUTTONUP,win32con.MK_LBUTTON,tmp)
#win32gui.SendMessage(handle, win32con.WM_RBUTTONDOWN,win32con.MK_LBUTTON,tmp)
#win32gui.SendMessage(handle, win32con.WM_RBUTTONUP,win32con.MK_LBUTTON,tmp)