python - 错误的光标移动win32api
问题描述
我正在尝试使用 win32api 移动光标。我需要知道我当前的光标位置(x,y)移动到点 mid_x 和 mid_y。
x, y = win32api.GetCursorPos()
然后,我发现我应该移动多少。
dx = int(mid_x -x)
dy= int(mid_y - y)
最后,我移动光标!
win32api.mouse_event(0x0001, dx,dy, 0, 0)
最后,我的鼠标向错误的方向移动。我阅读了一份 c++ 文档,发现 dx 和 dy 应该是mickey value
. 这是什么意思,我怎样才能将其更改为像素?
解决方案
//get the Screen resolution.
scalex = win32api.GetSystemMetrics(win32con.SM_CXSCREEN);
scaley = win32api.GetSystemMetrics(win32con.SM_CYSCREEN);
//get the scale(a screen has 65535*65535 mickey value)
scalex = 65535 / scalex;
scaley = 65535 / scaley;
win32api.mouse_event(0x8000 | 0x0001, dx* scalex, dy* scaley, 0, 0);
推荐阅读
- php - PHP readdir():先对文件夹排序,再对文件排序
- flutter - 如何解决“参数类型'字符串?' 不能分配给参数类型'String'” - Flutter
- flutter - 如何在颤动中显示与其项目ID相关的标签
- html - 如何通过 CSS 旋转这些文本?
- networking - NMap 结果空输出
- python - 如何为命令 discord.py 分配子帮助?
- firebase - 将 Firebase 匿名用户转换为具有电子邮件和密码的用户 - Flutter
- deep-learning - 如何离线计算反向传播
- python - 将列表合并为一个作为函数输出
- python - 表现 BDD 测试 - 在测试结束时结束线程/节点