@
FanWall 谢谢大哥不断的指教!
我现在写出的代码如下
from win32com.client import Dispatch
import win32gui
import mouse
import time
from threading import Timer
WCaptureX = Dispatch("{8F267988-0CA4-418C-8F94-B4BC5862B390}")
WInput = Dispatch("{4B484CCE-9120-49B7-A5F2-B8B183BFD808}")
def onMouseClicked():
# x,y=mouse.get_position()
# windowHandle = win32gui.WindowFromPoint((x,y))
# windowClassName= win32gui.GetClassName(windowHandle)
# print(win32gui.GetClassName(windowHandle)) WInput.Hwnd=None
windowHandle,x,y=WCaptureX.GetCursorInfo()
WInput.Hwnd=windowHandle
WInput.StartX=x
WInput.StartY=y
# WInput.EndX=x+100
# WInput.EndY=y+100
WResult=WCaptureX.Capture(WInput)
print(WResult.TEXT ,WResult.Paragraph )
mouse.on_click(onMouseClicked) # 实际是 released event
mouse.wait(button='right', target_types=('double', ))
我试了下 Word 2016 取词也是没问题,但是 Chrome 和 sumatraPDF 之类的软件就无法取词,估计是我没有找到正确的使用方式吧。
据我所知,国内的欧路词典也是用这套工具,该软件在 Chrome 和 sumatraPDF 里取词没问题……
@
ysc3839