美文网首页
Python win32 使用方式

Python win32 使用方式

作者: 是瑞瀛呀 | 来源:发表于2021-05-19 22:48 被阅读0次

    获取窗体句柄

    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)

    相关文章

      网友评论

          本文标题:Python win32 使用方式

          本文链接:https://www.haomeiwen.com/subject/cmymjltx.html