Python pywin32 鼠标拖动: 发送消息模拟拖动轨迹
要使用 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 模块。
原文地址: https://www.cveoy.top/t/topic/qEab 著作权归作者所有。请勿转载和采集!