要使用 pywin32 进行鼠标拖动,您可以通过发送消息的方式来模拟鼠标移动和点击操作。以下是一个示例代码,演示如何使用 SendMessage 来实现鼠标拖动:

import win32con
import win32api
import win32gui

def drag_mouse(hwnd, x1, y1, x2, y2):
    # 将窗口设置为前台窗口
    win32gui.SetForegroundWindow(hwnd)
    
    # 获取窗口客户区左上角的屏幕坐标
    left, top, _, _ = win32gui.GetClientRect(hwnd)
    point1 = win32gui.ClientToScreen(hwnd, (left + x1, top + y1))
    point2 = win32gui.ClientToScreen(hwnd, (left + x2, top + y2))
    
    # 模拟鼠标按下消息
    win32api.SendMessage(hwnd, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, win32api.MAKELONG(point1[0], point1[1]))
    
    # 模拟鼠标移动消息
    win32api.SendMessage(hwnd, win32con.WM_MOUSEMOVE, win32con.MK_LBUTTON, win32api.MAKELONG(point2[0], point2[1]))
    
    # 模拟鼠标释放消息
    win32api.SendMessage(hwnd, win32con.WM_LBUTTONUP, 0, win32api.MAKELONG(point2[0], point2[1]))

# 示例用法
hwnd = win32gui.FindWindow(None, '窗口标题')  # 根据窗口标题查找窗口句柄
drag_mouse(hwnd, 100, 100, 200, 200)  # 将鼠标从(100, 100)拖动到(200, 200)

请注意,此代码假设您已经知道要拖动的窗口的标题,并且您已经安装了 pywin32 模块。

Python pywin32 鼠标拖动: 发送消息模拟拖动轨迹

原文地址: https://www.cveoy.top/t/topic/qEab 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录