Я использую следующий процесс enumchild для получения hwnd каждого окна, проблема в том, что я не могу каким-то образом обнаружить какую-либо информацию от каждого hwnd, поэтому я могу делать то, что хочу, с теми, которые определяются как те, которые мне нужны ,
Например, как я могу получить имя класса окна и заголовок каждого окна в перечислении ниже?
Я пробовал что-то вроде ..
РЕДАКТИРОВАНИЕ: копия вставлена (если это помогает)
TCHAR cName[MAX_PATH];
BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam) {
TCHAR cName[MAX_PATH];
GetClassName(hwnd, cName, _countof(cName));
cout << cName << endl;
return TRUE;
}
int _tmain(int argc, _TCHAR* argv[])
{
HWND hwnd = FindWindow(0, TEXT("reference"));
EnumChildWindows(hwnd, EnumChildProc, 0);
system("PAUSE");
return 0;
}
Он просто возвращает информацию о дескрипторе hexadec, и каждый раз, когда он один и тот же, разве функция GetClassName не меняет cName на новый дескриптор каждый раз?
Также функция GetClassName возвращает количество символов, записанных в cName, я не понимаю, насколько это полезно для меня? Мне нужно получить мое cName в некотором читаемом формате, чтобы я мог сделать что-то вроде
if (className == TEXT ("classnameiamlookingfor" && hwndtitle = TEXT ("thetitlethatinterestsme")) DOSOMETHINGWITHIT ();
Но все, что я здесь получаю, это шестнадцатеричный беспорядок.