FindWindowEx是Windows API中的一个函数,用于在Z顺序窗口列表里查找具有指定窗口类名、窗口标题或窗口句柄的子窗口。它常常被用于自动化、UI测试任务。
FindWindowEx的函数原型如下:
HWND FindWindowEx(
_In_opt_ HWND hwndParent,
_In_opt_ HWND hwndChildAfter,
_In_ LPCTSTR lpClass,
_In_ LPCTSTR lpWindow
);
参数说明:
hwndParent(可选):指向父窗口的句柄。如果为NULL,就会查找顶级窗口。
hwndChildAfter(可选):指向在父窗口中查找子窗口的起始句柄。若为NULL,则从第一个子窗口开始查找。
lpClass(必需):指向窗口类名的指针。若为NULL,就会查找具有指定窗口标题的窗口。
lpWindow(必需):指向窗口标题的指针。如果为NULL,就会查找具有指定窗口类名的窗口。
返回值:
如果找到匹配的窗口,就返回该窗口的句柄。否则返回NULL。
示例:
// 查找具有指定类名、窗口标题的子窗口
HWND hwndChild = FindWindowEx(NULL, NULL, "Button", "OK");
// 查找具有指定类名、父窗口的子窗口
HWND hwndChild = FindWindowEx(hwndParent, NULL, "Button", NULL);
// 查找具有指定窗口句柄、窗口类名的子窗口
HWND hwndChild = FindWindowEx(NULL, hwndChild, NULL, "Button");