我正在尝试在 Python 中获得插入符号的位置。我尝试使用win32gui.GetCaretPos()
,但它总是返回 0,0。
你有什么想法如何让它发挥作用吗?
谢谢克里斯
如果插入符号位于另一个线程创建的窗口中,则需要调用AttachThreadInput
. 假设您想要前景窗口的插入符号,您可以像这样得到它:
import win32gui
import win32process
import win32api
fg_win = win32gui.GetForegroundWindow()
fg_thread, fg_process = win32process.GetWindowThreadProcessId(fg_win)
current_thread = win32api.GetCurrentThreadId()
win32process.AttachThreadInput(current_thread, fg_thread, True)
try:
print win32gui.GetCaretPos()
finally:
win32process.AttachThreadInput(current_thread, fg_thread, False) #detach