Я ищу окно с именем класса "CLIPBRDWNDCLASS" (его можно найти в офисных приложениях и других приложениях).
Если я использую FindWindow или FindWindowEx, я нахожу первый HWND, который имеетэтот класс, но я хочу все окна с этим классом, поэтому я решил использовать рекурсивный EnumChildWindows, чтобы перечислить все окна и найти нужное окно:
//-------------------------------------------------------------------------------
BOOL CALLBACK enum_wnd_proc(HWND h, LPARAM lp)
{
char cls[1024] = {0};
::GetClassNameA(h, cls, 1024);
if(std::string(cls) == "CLIPBRDWNDCLASS")
{
// match!
}
::EnumChildWindows(h, enum_wnd_proc, NULL);
return TRUE;
}
//-------------------------------------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
::EnumWindows(enum_wnd_proc, NULL);
return 0;
}
//-------------------------------------------------------------------------------
Это то, чтоэто окно не возвращается через EnumWindows, только через FindWindow.
Кто-нибудь может сказать, почему оно не работает ???