2013-03-11 127 views
0

我正在开发涉及文本分析的.NET应用程序。从当前文本区域获取文本

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

这应该是独立的过程,这意味着如果用户在Word中编写我想要检索键入“接近”光标位置的单词,也可以在Chrome中或IE浏览器的网址等。

有没有人知道在.NET中这个很好的解决方案?

+2

这与键盘记录器有什么不同? – 2013-03-11 17:13:12

+0

@ScottSelby它真的很重要吗? – Romoku 2013-03-11 17:21:35

+0

是的,是的,它的确如此 – 2013-03-11 17:23:06

回答

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

+0

谢谢,看起来很有前途.. – 2013-03-12 05:44:34