プラットフォーム SDK
FindWindowEx
指定された文字列と一致するクラス名とウィンドウ名文字列を持つウィンドウのハンドルを返します。この関数は、子ウィンドウを検索します。この関数による検索は、指定された子ウィンドウの直後の子ウィンドウから開始されます。大文字小文字は区別されません。
HWND FindWindowEx(
HWND hwndParent, // 親ウィンドウのハンドル
HWND hwndChildAfter, // 子ウィンドウのハンドル
LPCTSTR lpszClass, // クラス名
LPCTSTR lpszWindow // ウィンドウ名
);
パラメータ
- hwndParent
- 検索する子ウィンドウの親ウィンドウのハンドルを指定します。
NULL を指定すると、デスクトップウィンドウが親ウインドウとして使われ、デスクトップの子ウィンドウが探されます。
Windows 2000:hwndParent パラメータに HWND_MESSAGE を指定すると、 が検索されます。
- hwndChildAfter
- 子ウィンドウのハンドルを指定します。Z オーダーでこのウィンドウの次にくる子ウィンドウから検索が開始されます。ここに指定するウインドウは、hwndParent パラメータに指定したウィンドウの直接の子でなければなりません。孫以下のウィンドウを指定することはできません。
NULL を指定すると、hwndParent パラメータに指定したウィンドウの最初の子ウィンドウから検索が開始されます。
hwndParent パラメータにも hwndChildAfter パラメータにも NULL を指定すると、すべてのトップレベルウィンドウおよびメッセージ専用ウィンドウが検索されます。
- lpszClass
- NULL で終わる文字列へのポインタか、クラスアトムを指定します。クラスアトムを指定する場合は、RegisterClass 関数または RegisterClassEx 関数の呼び出しにより作成したものを使用します。lpClassName パラメータの下位ワードにアトムを格納し、上位ワードに 0 を格納します。
文字列を指定する場合は、ウィンドウクラスの名前を指定します。クラス名には、RegisterClass 関数または RegisterClassEx 関数で登録した名前か、定義済みのコントロールクラス名を指定できます。
- lpszWindow
- ウィンドウ名( ウィンドウのタイトル)が入った NULL で終わる文字列へのポインタを指定します。NULL を指定すると、あらゆるウィンドウ名が該当するものとみなされます。
戻り値
関数が成功すると、指定したクラスとウィンドウ名を持つウィンドウのハンドルが返ります。
関数が失敗すると、NULL が返ります。拡張エラー情報を取得するには、 関数を使います。
解説
lpszWindow パラメータが NULL でない場合、FindWindow 関数は、GetWindowText 関数を呼び出して、比較に使用するウィンドウ名を取得します。この処理で発生する可能性のある問題について、GetWindowText 関数の解説を参照してください。
対応情報
Windows NT/2000:Windows NT 4.0 以降
Windows 95/98:Windows 95 以降
ヘッダー:Winuser.h で宣言、Windows.h をインクルード
インポートライブラリ:User32.lib を使用
Unicode:Windows NT/2000 は Unicode 版と ANSI 版を実装
参照
EnumWindows, FindWindow, GetClassName, GetWindowText, RegisterClass, RegisterClassEx