2

ウィンドウのタイトルとクラス名の一部しかわからない場合、ウィンドウの記述子を取得するにはどうすればよいですか?

4

2 に答える 2

5

FindWindow()フルタイトルが必要です。EnumWindows()、またはループを使用GetWindow()して、使用可能なすべてのウィンドウを列挙し、それぞれを呼び出しGetClassName()GetWindowText()、一致するものが見つかるまで値を検索条件と比較します。

于 2011-10-30T02:47:27.567 に答える
2

このようなもの:

BOOL CALLBACK EnumWindowsProc( HWND hwnd, LPARAM lParam ) {
  wchar_t   lpClassName[128] = {0};
  MYSTRUCT* MS_INFO          = ( MYSTRUCT* )lParam;

  GetClassName( hwnd, lpClassName, _countof( lpClassName ) );
  if( strstr( lpClassName, MS_INFO -> lpClassName ) ) {
    wchar_t lpWindowName[128] = {0};
    GetWindowText( hwnd, lpWindowName, _countof( lpWindowName ) );

    if( strstr( lpWindowName, MS_INFO -> lpWindowName ) ) {
      ...
    }
  }
}
于 2011-10-30T17:47:49.987 に答える