枚举给定窗口的所有子窗口并打印标题的小例子

这个例子主要是示范了FindWindowEx的用法

FindWindowEx完整定义如下:

HWND FindWindowEx(
  HWND hwndParent,      // 父窗口句柄
  HWND hwndChildAfter,  // 开始的子窗口句柄,这个参数很有用
  LPCTSTR lpszClass,    // 类名
  LPCTSTR lpszWindow    // 标题
);
下面这个例子会打印当前桌面所有窗口和子窗口的标题

#include
#include
BOOL myEnumWindow(HWND hwnd);
int  main()
{
myEnumWindow(NULL);
return 0;
}

BOOL myEnumWindow(HWND inHwnd)
{
char szText[256];

HWND hwndAfter = NULL;
while(hwndAfter = ::FindWindowEx(inHwnd,hwndAfter,NULL,NULL))
{
memset(szText,0,256);
::SendMessage(hwndAfter,WM_GETTEXT,(WPARAM)256,(LPARAM)szText);
printf("%s/t",szText);
myEnumWindow(hwndAfter);
}
return 1;
}

你可能感兴趣的:(技术文档)