如何在任何打开的窗口中获取鼠标下的文本

我正在开发一个用C#语言编写的项目。 我想生成一个类似于Narcis或Easylingo的字典,使用户能够使用鼠标,只需在任何应用程序中将光标移动到WORD上,然后程序就会检测到该字,并找到该特定字的含义。

我的问题是如何在任何应用程序(如Microsoft Office或Web浏览器等)中检测屏幕上鼠标光标下的单词。

我正在寻找任何可以帮助我的提示和指南或任何代码。

非常感谢您的合作。

您将需要摆弄Win API捕获GDI调用,将文本输出到屏幕。

正如在SO的答案中所建议的,

通常对于GDI控件,您可以获取控件的位置和大小,通常可以获取字体信息。 例如,使用静态文本控件,您可以使用WM_GETFONT 。 然后,一旦你有了,你就可以获得鼠标相对于控件位置的位置,并使用其中一个字体函数,也许像GetTextExtentPoint32这样可以找出光标下的内容。

所以尝试在那个方向找到一些东西。

您可以模仿与Spy ++相同的function并捕获WM_MOUSEMOVE事件,预过滤它们并在鼠标hover在文本框或类似控件上时进行检测。

这当然不容易,需要大量的工作和研究!