微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Windows 锁定屏幕上以编程方式移动鼠标光标

如何解决在 Windows 锁定屏幕上以编程方式移动鼠标光标

通过 C 或 Python 使用 win32 API,通过代码移动 Windows 鼠标光标非常简单。我们目前使用 Python 包 pynput 来执行此操作。

我的问题特别是关于 Windows 上的锁定屏幕。单击以触发登录用户名提示显示后,我运行的 Python 脚本将停止读取或写入光标位置。

下面是我的测试脚本,它只是将鼠标向左或向右移动大约 1 英寸,每秒一次。

import time

from pynput.mouse import Controller as MouseController

mouse = MouseController()
oldX = oldY = 500
direction = -1
while True:
    if mouse.position is not None:
        oldX,oldY = mouse.position
    mouse.position = (oldX + 100 * direction,oldY)
    direction *= -1
    time.sleep(1)

我运行此脚本,然后转到“开始”菜单并选择“锁定”。

我看到的第一个问题是 mouse.position 变成了 None。所以我添加if mouse.position is not None 所以它没有出错,看看它是否只在读取光标位置时失败,但是鼠标也停止向左或向右移动,所以它都在读取并写失败。

我的猜测是这与安全/权限有关,Windows 会在用户登录时阻止对用户输入的任何软件访问,这很有意义。

我只是想知道这是否是已知的事情(甚至已记录在案),或者是否有解决方法

(如果有人想知道为什么,如果用户在此过程中的 1 个步骤仍然需要看护者(例如帮助他们登录),那么让用户独立于物理鼠标/键盘的辅助设备的价值就降低了。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。