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 に答える