首页 > 解决方案 > 移动鼠标光标的程序无法按预期工作

问题描述

我正在创建一个利用win32api mouse_event将鼠标光标移动到某个位置的程序。但是,该程序没有按预期工作。非常感激任何的帮助。

注意:我必须使用win32api并且没有其他库。

以这个程序为例:

import win32api

x = 1000
y = 1000
win32api.mouse_event(0x0001, int(x), int(y))

它应该将鼠标光标移动到屏幕上的第 1000 个 x 和 y 像素,但它没有。

标签: pythonwinapimouseevent

解决方案


如果要使用SendInput,则需要使用ctypes库,如果使用旧的mouse_event,则可以使用以下示例。

import win32api 
import win32con
def click(x,y):
    cx_screen = win32api.GetSystemMetrics(win32con.SM_CXSCREEN)
    cy_screen = win32api.GetSystemMetrics(win32con.SM_CYSCREEN) 
    win32api.mouse_event(win32con.MOUSEEVENTF_MOVE | win32con.MOUSEEVENTF_ABSOLUTE, int(65535.0*x/cx_screen), int(65535.0*y/cy_screen))
click(1000,100)

如何使用 SendInput 实现鼠标点击?


推荐阅读