如何在任何程序中访问当前单词

时间:2009-08-24 12:39:50

标签: windows

Answers.com有一个任务栏应用程序,当您ALT +鼠标点击任何程序中的单词时,它将弹出一个窗口,其中包含从其网站上提取的信息。

我的问题是 - 用于执行此类操作的实际编程机制和API是什么?我没有Windows应用程序编程经验,并试图找出从哪里开始。如何访问鼠标指向的当前单词?

任何人都知道有任何类似的例子或开源软件吗?

1 个答案:

答案 0 :(得分:0)

这已经有一段时间了,我最后一次做这样的事情就是在我自己的wysiwyg编辑器中,所以我可以完全访问计算鼠标点击哪个单词所需的所有字体特征。

如果您的所有应用都是.NET或com,或者共享其他一些提供直接检索方式的框架,也许有一种简单的方法可以做到这一点。

通过API,我会研究钩住键盘和鼠标消息,以便您的应用程序可以预先处理其他应用程序上的每次鼠标点击 - 从SetWindowsHookEx开始,并阅读有关挂钩消息的所有内容。

让您的应用预处理消息后,您需要抓取被点击的文本。由于文本可以通过多种不同的方式绘制到设备上下文中,因此您可能最好对所单击的区域进行屏幕刮擦,因为文本可能仅作为位图存在。如果是这种情况,则必须执行一些OCR才能将已删除的位图转换回文本。在其他情况下,文本可能作为文本驻留在窗口中 - WM_GETTEXT消息可能会从某些类型的窗口(例如文本框,按钮等)返回此文本,但对于普通窗口,此消息仅返回标题栏中的标题

对不起,我没有任何明确的答案,但这可能会让你开始朝着正确的方向前进。