0

クリックしてマウスの位置を使用してハンドルを取得できます。しかし、クリックせずにクラス名を使用して、ウィンドウ上のすべてのコントロールのハンドルを見つける必要があります。窓が開いている間に、それらを取得する必要があります。出来ますか?

4

2 に答える 2

1

2 つの一般的な API を組み合わせることができます。

[DllImport("user32.Dll")]
private static extern Boolean EnumChildWindows(int hWndParent, PChildCallBack lpEnumFunc, int lParam);

この関数は、ウィンドウ内のすべての「子」ウィ​​ンドウを取得するためのものです。二つ目は

[DllImport("User32.Dll")]
private static extern void GetClassName(int hWnd, StringBuilder s, int nMaxCount);

このメソッドを使用して、列挙されたウィンドウに特定のクラス名があるかどうかをフィルタリングします。

ハッピーコーディング!

于 2015-07-13T12:03:18.687 に答える