2011-10-29 3 views
1

を取得します。私は情報が表示されます(単純なテキストではなく、txtのボックスで、.NETでのラベルのように見える)が、無効を選択し、無効に左と右のマウスクリックを持つプログラムを持っている無効の選択の周り

私は、ユーザーとして動作し、txtファイルの最初のプログラムで表示される情報書き留め、別のプログラム(C#で言うことができますが、それはまた、他の言語とすることができる)を書きたいです。

私が無効に選択を回避できる方法はありますが、左と右のマウスをクリックしてください?

[DllImport("user32.dll", EntryPoint = "GetWindowText", ExactSpelling = false, CharSet = CharSet.Auto, SetLastError = true)] 
private static extern int GetWindowText(IntPtr hWnd, StringBuilder lpWindowText, int nMaxCount); 

あなたはすべての子ウィンドウの上に他のプログラムのウィンドウ、ループのハンドルを取得しなければならない/コントロールは、すべてのそれらのハンドルに対してGetWindowTextを呼び出してテキストを取得EnumChildWindowsを使用して:

答えて

2

GetWindowTextのWindows APIはあなたの友達です。場合によっては、予想どおりの結果を得られない場合や、一部のコントロールにハンドルが表示されない場合があります。 EnumChildWindowsの使用方法の詳細と回答のため

[DllImport("user32")] 
[return: MarshalAs(UnmanagedType.Bool)] 
public static extern bool EnumChildWindows(IntPtr window, EnumWindowProc callback, IntPtr i); 

こちらを参照してください。

Why is EnumChildWindows skipping children?

Why does GetWindowText hang with a "closed" handle but not with a random one

...また、いくつかのアイデアや例については、こちらをご覧
関連する問題