使用Python暂时更改游标

时间:2011-10-27 19:32:46

标签: python winapi cursor

我正在编写一个拦截触摸板输出的脚本,并在经过一些处理后发送到Windows。所以没有涉及到GUI。我想在发生某些游标行为时临时更改光标。我已经在网上搜索了我最好的能力,发现很少有关于使用win32api.SetCursor()的帖子,但这根本不起作用。大多数帖子都谈到了使用Tkinter或wxPython更改游标。有没有其他解决方案来改变系统的光标?

1 个答案:

答案 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"