在Windows中获取鼠标光标下的单词

前端之家收集整理的这篇文章主要介绍了在Windows中获取鼠标光标下的单词前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
大家问候,

我和朋友正在讨论新项目的可能性:翻译程序只要您将鼠标悬停在任何控件中的任何单词上,即使是静态的,不可编辑的单词,也会弹出翻译.我知道有很多浏览器插件可以在网页上做这类事情;我们正在考虑如何在整个系统范围内(在Windows上).

当然,关键的难点在于找出用户悬停的词.我知道MSAA和自动化,但据我所知,这些东西只允许你获取控件的全部内容,而不是鼠标所在的特定单词.

我偶然发现了这个(专有)应用程序,它几乎完全符合我们的要求:http://www.gettranslateit.com/

不知怎的,他们能够得到用户几乎在任何应用程序中都悬停的确切字词(在一些应用程序中似乎有问题,特别是Windows资源管理器).它甚至以某种方式从明显的自定义绘制控件中抓取文本.起初我以为它必须使用OCR.但即使我将字体缩小到目前为止,文本变成一个完全不可读的blob,它仍然可以完美地识别单词. (然而,如果我将字体更改为Wingdings,它不会识别任何内容.但也许这是设计的?)

关于它如何实现这个看似不可能的任务的任何想法?

编辑:它不适用于Wingdings,但它确实与其他一些废话字体一起使用,所以我已经确认它不能是OCR.

解决方法

您可以捕获将文本输出显示器的GDI调用,然后找出光标所在的单词边界框.

猜你在找的Windows相关文章