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

本文关键字:鼠标 获取 取文本 窗口 任何打 | 更新日期: 2023-09-27 17:59:19

我正在做一个使用C#语言的项目。我想制作一个类似于Narcis或Easylingo的词典,用户可以使用鼠标,只需在任何应用程序中的WORD上移动光标,然后程序检测单词并找到特定单词的含义。

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

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

非常感谢您的合作。

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

您需要处理Win API捕获将文本输出到屏幕的GDI调用。

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

通常对于GDI控件,您可以获得控件的位置和大小,并且通常可以获得字体信息。例如,对于静态文本控件,您可以使用WM_GETFONT。然后,一旦你有了它,你就可以获得鼠标相对于控件位置的位置,并使用其中一个字体函数,比如GetTextExtentPoint32来计算光标下的内容。

所以,试着朝着这个方向寻找一些东西。

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

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