1

不完全な名前でウィンドウを見つける方法はありますか?

たとえば、多くのタイトル名を持つことができる Google Chrome ウィンドウをどのように見つけますか?
スタック オーバーフローのように- Google Chrome

ウィンドウが常に以下のような関数と同じ名前を持つ場合、FindWindow関数はうまく機能します。

HWND chrome = FindWindow(NULL,_T("Stack Overflow - Google Chrome"));
SetForegroundWindow(chrome);

しかし、(ブラウザのように) 名前が頻繁に変わるとどうなるでしょうか? 固定の開始/終了を検索してウィンドウを見つけるにはどうすればよいですか?

のようなものを探していFindWindow(NULL,_T("something here - Google Chrome")ます。
それを行う方法はありますか?

4

1 に答える 1

3

ウィンドウ タイトルの代わりにウィンドウ クラス名を使用できます。たとえば、Firefox は次のように検索できます。

HWND firefox = FindWindow(_T("MozillaWindowClass"), NULL);

WinSight、WinSpy++、または (Firefox ウィンドウ クラスを見つけるために使用したもの) AutoHotkey の Window Spy ユーティリティなど、任意のウィンドウ スパイ タイプのアプリケーションを使用できます。

詳細については、MSDN のドキュメントを参照してくださいFindWindow

于 2013-10-17T19:43:17.990 に答える