Находиш Handle главного окна, а затем вызываещ функцию
The EnumChildWindows function enumerates the child windows that belong to the specified parent window by passing the handle of each child window, in turn, to an application-defined callback function. EnumChildWindows continues until the last child window is enumerated or the callback function returns FALSE.
BOOL EnumChildWindows(
HWND hWndParent, // handle to parent window
WNDENUMPROC lpEnumFunc, // pointer to callback function
LPARAM lParam // application-defined value
);
Parameters
hWndParent
Identifies the parent window whose child windows are to be enumerated.
lpEnumFunc
Points to an application-defined callback function. For more information about the callback function, see the EnumChildProc callback function.
lParam
Specifies a 32-bit, application-defined value to be passed to the callback function.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
Remarks
The EnumChildWindows function does not enumerate top-level windows owned by the specified window, nor does it enumerate any other owned windows.
If a child window has created child windows of its own, this function enumerates those windows as well.
A child window that is moved or repositioned in the Z order during the enumeration process will be properly enumerated. The function does not enumerate a child window that is destroyed before being enumerated or that is created during the enumeration process.
This function is more reliable than calling the GetWindow function in a loop. An application that calls GetWindow to perform this task risks being caught in an infinite loop or referencing a handle to a window that has been destroyed.
,где
The EnumChildProc function is an application-defined callback function that receives child window handles as a result of a call to the EnumChildWindows function.
BOOL CALLBACK EnumChildProc(
HWND hwnd, // handle to child window
LPARAM lParam // application-defined value
);
Parameters
hwnd
Identifies a child window of the parent window specified in EnumChildWindows.
lParam
Specifies the application-defined value given in EnumChildWindows.
Return Values
To continue enumeration, the callback function must return TRUE; to stop enumeration, it must return FALSE.
Remarks
The callback function can carry out any desired task.
An application must register this callback function by passing its address to EnumChildWindows. EnumChildProc is a placeholder for the application-defined function name.
т.е даеш на перечисление все chield окна главного окна. Виндовс выдает данные в твою функцию такого вида
BOOL CALLBACK EnumChildProc(
HWND hwnd, // handle to child window
LPARAM lParam // application-defined value
);
Если тебе не нужно дальше просматривать, возрашаеш False. Нужно True.
Функция выдает тебе хэндл окон. По ним ты можеш узнать к какому классу принадлежит окно при помоши функции
The GetClassName function retrieves the name of the class to which the specified window belongs.
int GetClassName(
HWND hWnd, // handle of window
LPTSTR lpClassName, // address of buffer for class name
int nMaxCount // size of buffer, in characters
);
Parameters
hWnd
Identifies the window and, indirectly, the class to which the window belongs.
lpClassName
Points to the buffer that is to receive the class name string.
nMaxCount
Specifies the length, in characters, of the buffer pointed to by the lpClassName parameter. The class name string is truncated if it is longer than the buffer.
Return Values
If the function succeeds, the return value is the number of characters copied to the specified buffer.
If the function fails, the return value is zero. To get extended error information, call GetLastError.