如何获取Windows中的文本光标位置?
在Windows系统中,能不能用标准的Python库来获取整个光标的位置呢?
13 个回答
15
在标准的Python库中,你找不到这样的函数,因为这个函数是特定于Windows系统的。不过,如果你使用ActiveState Python,或者在标准的Python Windows安装中安装win32api
模块,你就可以使用这个函数了:
x, y = win32api.GetCursorPos()
61
使用标准的ctypes库,这段代码可以获取当前屏幕上鼠标的位置而不需要任何第三方模块:
from ctypes import windll, Structure, c_long, byref
class POINT(Structure):
_fields_ = [("x", c_long), ("y", c_long)]
def queryMousePosition():
pt = POINT()
windll.user32.GetCursorPos(byref(pt))
return { "x": pt.x, "y": pt.y}
pos = queryMousePosition()
print(pos)
我还要提一下,这段代码是从一个示例中找到的,链接在这里。所以这个解决方案要感谢Nullege.com。
34
win32gui.GetCursorPos(point)
这段代码用来获取光标的位置,位置是以屏幕坐标的形式表示的,格式是(point = (x,y))。
flags, hcursor, (x,y) = win32gui.GetCursorInfo()
这段代码获取有关全局光标的信息。
相关链接:
- http://msdn.microsoft.com/en-us/library/ms648389(VS.85).aspx
- http://msdn.microsoft.com/en-us/library/ms648390(VS.85).aspx
我假设你会使用python的win32 API绑定或者pywin32库。