Python win32 使用方式
发布网友
发布时间:2022-11-27 03:25
我来回答
共1个回答
热心网友
时间:2023-10-13 21:40
handle = win32gui.FindWindow('Galaxy2DEngine',None)
left, top, right, bottom = win32gui.GetWindowRect(handle)
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)
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)