我正在开发一个C#语言的项目。我想生成一个类似于Narcis或Easylingo的字典,使用户能够使用鼠标,只需在任何应用程序中将光标移动到WORD上,然后程序就会检测到该字,并找到该特定字的含义。
我的问题是如何在任何应用程序(如Microsoft Office或Web浏览器等)中检测屏幕上鼠标光标下的单词。
我正在寻找任何可以帮助我的提示和指南或任何代码。
非常感谢您的合作。
答案 0 :(得分:2)
您将需要摆弄Win API捕获GDI调用,将文本输出到屏幕。
正如this answer中关于SO的建议,
通常对于GDI控件,您可以获取控件的位置和大小,通常可以获取字体信息。例如,使用静态text controls,您可以使用WM_GETFONT。然后,一旦你有了这个,你可以获得鼠标相对于控件位置的位置,并使用其中一个字体函数,可能像GetTextExtentPoint32那样找出光标下的内容。
所以尝试在那个方向找到一些东西。
答案 1 :(得分:0)
您可以模仿与Spy ++相同的功能并捕获WM_MOUSEMOVE事件,预过滤它们并在鼠标悬停在文本框或类似控件上时进行检测。
这当然不容易,需要做大量的工作和研究!