C++におけるFindWindowExA関数の使い方は?
C++のFindWindowExA関数は、指定したウィンドウの子ウィンドウを、指定したクラス名とウィンドウ名で検索するために使われます。その宣言は次のとおりです。
HWND FindWindowExA(
HWND hWndParent,
HWND hWndChildAfter,
LPCSTR lpszClass,
LPCSTR lpszWindow
);
パラメータの意味は次のとおりです。
- hWndParent:親ウィンドウのハンドル。このウィンドウの直下の子ウィンドウを検索します。
- 子ウィンドウのハンドルで、このウィンドウの後に検索を開始します。
- lpszClass: 子ウィンドウクラス名。NULLを指定するとすべてのクラスが検索されます。
- lpszWindow:子ウィンドウのウィンドウ名。すべてウィンドウを検索するには NULL を使用します。
見つかった子のウィンドウのハンドルを返します。一致する子のウィンドウが見つからなかった場合は NULL を返します。
1つの例を以下に示します。
HWND hwndParent = FindWindowA("ParentWindowClass", "ParentWindowName");
if(hwndParent != NULL)
{
HWND hwndChild = FindWindowExA(hwndParent, NULL, "ChildWindowClass", "ChildWindowName");
if(hwndChild != NULL)
{
// 找到了子窗口,可以对其进行操作
}
else
{
// 没有找到子窗口
}
}
else
{
// 没有找到父窗口
}