我正在开发一个 python 脚本来驱动我正在开发的原型,而我目前的绊脚石是试图不断地写入 Windows 中的 MouseSensitivity 寄存器。为了具体起见,我使用的是 Windows 7。
不幸的是,我遇到了一些死胡同。
我尝试使用 pywin32 写入注册表,但没有成功。经过一番搜索,我遇到了 SystemParametersInfo 函数,但也没有任何成功。
本质上,为了解决这个危机,我已经安装了 pyserial、pywin32 和 ctypes(看来可能不需要 pywin32)。假设我有一个介于(包括)1 到 20 之间的整数变量。
下面列出了我现在拥有的代码。大部分内容已从此处修改,因为作者似乎使用了 python、ctypes、user32.dll 和 SystemParametersInfo 函数。但是,当我运行下面的代码时,shell 进入一个循环,其中下一行有两个空格,光标一直闪烁,直到我键盘中断。有任何想法吗?
import sys
import ctypes
import ctypes.wintypes
num = 12 # Between 1 and 20
SystemParametersInfo = ctypes.windll.user32.SystemParametersInfoW
SystemParametersInfo.argtypes = (
ctypes.wintypes.UINT,
ctypes.wintypes.UINT,
ctypes.c_void_p,
ctypes.wintypes.UINT,
)
SPI_SETMOUSESPEED = 0x0071
SystemParametersInfo(SPI_SETMOUSESPEED, 0, ctypes.cast(num, ctypes.c_void_p, 0)