2013-11-01 99 views
1

我试图在Python中获取插入位置。我尝试使用win32gui.GetCaretPos(),但它总是返回0,0。Python:获取插入位置

你有什么想法如何使它工作?

感谢 克里斯

+0

请发布您的代码,使其更清楚一点。 – aIKid

回答

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 
+0

适用于所有编辑器...除了我需要的那个:-)无论如何非常感谢! –

相关问题