问题描述
通过 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 (将#修改为@)