我正在编写一个拦截触摸板输出的脚本,并在经过一些处理后发送到Windows。所以没有涉及到GUI。我想在发生某些游标行为时临时更改光标。我已经在网上搜索了我最好的能力,发现很少有关于使用win32api.SetCursor()的帖子,但这根本不起作用。大多数帖子都谈到了使用Tkinter或wxPython更改游标。有没有其他解决方案来改变系统的光标?
答案 0 :(得分:1)
使用下面的代码在系统范围内更改,但我必须恢复到退出程序下方的箭头光标。如果还有其他更好的方式,我将非常感谢您的回复。
from ctypes import *
import win32con
SetSystemCursor = windll.user32.SetSystemCursor #reference to function
SetSystemCursor.restype = c_int #return
SetSystemCursor.argtype = [c_int, c_int] #arguments
LoadCursorFromFile = windll.user32.LoadCursorFromFileA #reference to function
LoadCursorFromFile.restype = c_int #return
LoadCursorFromFile.argtype = c_char_p #arguments
CursorPath = "../cursor/MyCross.cur"
NewCursor = LoadCursorFromFile(CursorPath)
if NewCursor is None:
print "Error loading the cursor"
elif SetSystemCursor(NewCursor, win32con.IDC_ARROW) == 0:
print "Error in setting the cursor"