python - 移动鼠标光标的程序无法按预期工作
问题描述
我正在创建一个利用win32api
mouse_event
将鼠标光标移动到某个位置的程序。但是,该程序没有按预期工作。非常感激任何的帮助。
注意:我必须使用win32api
并且没有其他库。
以这个程序为例:
import win32api
x = 1000
y = 1000
win32api.mouse_event(0x0001, int(x), int(y))
它应该将鼠标光标移动到屏幕上的第 1000 个 x 和 y 像素,但它没有。
解决方案
如果要使用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)
推荐阅读
- ruby-on-rails - 只为特定的代码路径调用 after_action
- python - SOAP在python中解码未知的文档流响应
- angular - 如何从静态数组而不是动态用户输入设置 FormControl 名称?
- javascript - 每个用户/产品的新 html、css、js 页面
- jquery - 关于在 cms 的 head 或 body 中声明 jQuery 并遵循官方指南
- html - 尝试访问受保护的视频流时未要求授权- 标签 = 403
- angular - Angular:如何在条件中使用日期管道有条件地应用样式?
- vba - 有没有办法在写电子邮件时获取收件人的联系人类别?
- jquery - 当我选中一个复选框并按下更新时,我希望我的文本出现在 textarea
- java - 当我重新启动活动时,我的一个异步任务没有执行