0

我正在开发一个涉及文本分析的 .NET 应用程序。

我想从当前聚焦窗口活动文本框中检索文本。最好是从 Windows 光标的位置

这应该独立于过程,这意味着如果用户在 Word 中写作,我想检索在光标位置“附近”键入的单词,也在 Chrome 或 IE url 等中。

有谁知道.NET 中有一个很好的解决方案?

4

1 回答 1

3

一个好的起点是获得鼠标悬停的控制权,可以这样完成:

[DllImport("user32.dll")]
static extern IntPtr ChildWindowFromPoint(IntPtr hWndParent, Point Point);

[DllImport("user32.dll")]
static extern IntPtr WindowFromPoint(Point Point);

[DllImport("user32.dll")]
static extern bool ScreenToClient(IntPtr hWnd, ref Point lpPoint);

//...

Point p = Cursor.Position;
IntPtr phwnd = WindowFromPoint(Cursor.Position);
ScreenToClient(phwnd, ref p);
IntPtr hwnd = ChildWindowFromPoint(phwnd, p);

从那里您可以通过类似于此处回答的方法从控件中获取文本:

https://stackoverflow.com/a/7740920/1794305

于 2013-03-11T18:16:46.007 回答