用pywin32 写一个 鼠标在指定窗口上模拟拖动 用SendMessage
以下是一个使用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函数模拟鼠标按下、移动和释放操作,以实现拖动窗口的效果。
注意:该代码只能模拟鼠标在窗口上进行拖动,而不能实现拖拽窗口的功能。如果需要实现拖拽窗口的功能,可能需要更多的操作和判断条件
原文地址: http://www.cveoy.top/t/topic/iX9I 著作权归作者所有。请勿转载和采集!