1

windowTitleなしでWindowExを検索する方法は?

私のコード:

H = FindWindowEx(Hwnd, 0, "TextB", "windowTitle")

windowTitleが2番目に変更されました。windowTitleなしでハンドルを取得するにはどうすればよいですか。

他のオプション:

クラス名でタイトルを取得

H = FindWindowEx(Hwnd, 0, "TextB", GetTitleByClassname(Hwnd,"TextB"))
4

2 に答える 2

1
  • EnumWindowsすべてのトップレベルウィンドウを列挙するために使用します。
  • 各トップレベルウィンドウを呼び出しGetWindowThreadProcessIdて、そのウィンドウがターゲットプロセスに属しているかどうかを確認します。
  • 目的のトップレベルウィンドウが見つかったら、呼び出しEnumChildWindowsてそのすべての子を列挙します。

階層またはウィンドウクラス名がわかっている場合は、どの子がターゲットウィンドウであるかを識別できるはずです。

于 2012-11-14T07:04:34.317 に答える
0

クラス「TextB」の子ウィンドウが1つしかない場合は、最後のパラメータにNULLを渡します。

H = FindWindowEx(Hwnd, NULL, "TextB", NULL);
于 2012-11-14T06:52:38.600 に答える