我正在开发一个涉及文本分析的.NET应用程序。
我想从当前的焦点窗口活动文本框中检索文本。最好从Windows光标的位置
这应该独立于进程,这意味着如果用户正在使用Word编写,我想要检索键入的单词" near"光标的位置,也在Chrome或IE网址等。
有人知道在.NET中有一个很好的解决方案吗?
答案 0 :(得分: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);
从那里你可以通过类似于这里回答的方法从控件中获取文本: