如何获取Windows中的文本光标位置?

51 投票
13 回答
147934 浏览
提问于 2025-04-16 04:04

在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()

这段代码获取有关全局光标的信息。

相关链接:

我假设你会使用python的win32 API绑定或者pywin32库。

撰写回答