获取窗体句柄
handle = win32gui.FindWindow('Galaxy2DEngine',None)
获取窗体位置
left, top, right, bottom = win32gui.GetWindowRect(handle)
移动窗口 handle表示要移动的窗口; x,y指与屏幕左上角距离; w h 指宽和高; bRepaint :是否重绘
win32gui.MoveWindow(handle, int x, int y, int w,int h,BOOL bRepaint )
获取当前鼠标坐标
pos = win32gui.GetCursorPos()
设置当前鼠标坐标
win32api.SetCursorPos([x, y])
获取句柄的标题、类名
title = win32gui.GetWindowText(handle)
clsname = win32gui.GetClassName(handle)
模拟鼠标左键 按下 放开。
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
模拟鼠标右键 按下 放开。
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
win32方式 移动并点击 可后台操作 click_it(390, 162)
def click_it(self,x,y):
#设置鼠标位置
win32api.SetCursorPos([x, y])
#获取鼠标位置
pos = win32api.GetCursorPos()
#通过鼠标位置获取窗体句柄
handle= win32gui.WindowFromPoint(pos)
#通过窗体名称获取窗体句柄(可通过spy++获取)
#handle = win32gui.FindWindow('Galaxy2DEngine',None)
#获取Title & ClassName
title = win32gui.GetWindowText(handle)
clsname = win32gui.GetClassName(handle)
#把在屏幕上鼠标的位置转换为打开的程序的客户区的坐标
client_pos =win32gui.ScreenToClient(handle,pos)
tmp=win32api.MAKELONG(client_pos[0],client_pos[1])
#发送激活窗口消息 并发送鼠标按下-抬起消息,依赖具体的窗体(handle),窗体内位置(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)
网友评论