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

C# 如何在任何打开的窗口中获取鼠标下的文本,c#,winapi,mouseover,C#,Winapi,Mouseover,我正在做一个用C语言编写的项目。我想制作一个类似Narcis或Easylingo的字典,用户可以在任何应用程序中使用鼠标并在单词上移动光标,然后程序检测单词并找到特定单词的含义 我的问题是如何在任何应用程序(如Microsoft office或Web浏览器等)中检测屏幕上鼠标光标下的单词 我正在寻找任何提示和指南或任何代码,可以帮助我 非常感谢您的合作。您需要使用Win API捕获将文本输出到屏幕的GDI调用 正如《论苏》中所建议的那样 通常对于GDI控件,您可以获取控件的位置和大小,并且通常可

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

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

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


非常感谢您的合作。

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

正如《论苏》中所建议的那样

通常对于GDI控件,您可以获取控件的位置和大小,并且通常可以获取字体信息。例如,使用static。一旦你有了它,你就可以得到鼠标相对于控件位置的位置,并使用其中一个字体函数,也许可以算出光标下是什么


因此,试着在这个方向上寻找一些东西。

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


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

@ana我不同意你的看法,这可能是困难和复杂的,但绝对不是不可能的