2013-11-01 92 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

適用於所有編輯器...除了我需要的那個:-)無論如何非常感謝! –

相關問題