我正在创建一个简单的程序,使用Python将Windows中的鼠标指针更改为自定义.cur图像(是的,我知道您可以通过控制面板轻松完成此操作,但我将其用作学习工具)。
以下是我用来重写注册表的示例代码(将在最终版本中修复通配符导入):
from winreg import *
k = OpenKey(HKEY_CURRENT_USER, 'Control Panel\Cursors',0, KEY_ALL_ACCESS)
SetValueEx(k, 'Arrow',0, REG_SZ, '%SYSTEMROOT%\\Cursors\\rick_serious.cur')
此时,注册表已成功更新。但是,鼠标指针不会更新。
经过大量的谷歌搜索后,我发现这篇文章解释了你需要调用一个函数来更新"光标: link
但是,我对如何在Python中使用SystemParametersInfo函数感到迷茫。我遇到了pypiwin32。但是,当我转到documentation并搜索SystemParametersInfo时,没有" SPI_SETCURSORS"可行的行动(如该文章所述)。
SPI_SETCURSORS还有另一种方法吗?
如果可以使用此库进行操作并且我没有看到它,您是否可以提供示例,因为我发现此文档难以阅读。
我知道上面的3行代码看起来不多,但进行了几个小时的研究。提前谢谢。
答案 0 :(得分:0)
我找到了一种使用ctypes的方法。以下代码行更新了光标,这是您在设置注册表后执行的操作。参数来自微软的网站:
import ctypes
ctypes.windll.user32.SystemParametersInfoA(0x0057, 0, None, 0)