Python 模拟鼠标拖动:用 pywin32 在指定窗口上执行拖动操作
以下是一个使用 pywin32 模拟鼠标在指定窗口上进行拖动的示例代码:
import win32gui
import win32con
import win32api
def drag_window(hwnd):
# 获取窗口位置
rect = win32gui.GetWindowRect(hwnd)
# 计算窗口中心点
center_x = int((rect[0] + rect[2]) / 2)
center_y = int((rect[1] + rect[3]) / 2)
# 模拟鼠标按下
win32api.SendMessage(hwnd, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, center_y << 16 | center_x)
# 模拟鼠标移动
win32api.SendMessage(hwnd, win32con.WM_MOUSEMOVE, win32con.MK_LBUTTON, center_y << 16 | center_x)
# 模拟鼠标释放
win32api.SendMessage(hwnd, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, center_y << 16 | center_x)
# 指定窗口标题
window_title = '窗口标题'
# 查找窗口句柄
hwnd = win32gui.FindWindow(None, window_title)
if hwnd != 0:
# 拖动窗口
drag_window(hwnd)
else:
print('未找到指定窗口')
请确保已安装 pywin32 库。在代码中,我们首先使用 FindWindow 函数查找指定标题的窗口句柄。然后,我们使用 SendMessage 函数模拟鼠标按下、移动和释放操作,以实现拖动窗口的效果。
注意:该代码只能模拟鼠标在窗口上进行拖动,而不能实现拖拽窗口的功能。如果需要实现拖拽窗口的功能,可能需要更多的操作和判断条件。
原文地址: https://www.cveoy.top/t/topic/qD88 著作权归作者所有。请勿转载和采集!