Chcę użyć funkcję GetAltTabInfo według następującego schematu:
HWND nextWin = this->Handle;
ALTTABINFO pati;
char pszItemText[1000];
char winname[145];
char cname[145];
pati.cbSize = sizeof(ALTTABINFO);
do {
GetWindowText(nextWin,winname,144);
GetClassName(nextWin,cname,144);
TextArea->Lines->Add(AnsiString(cname) + " " + AnsiString(winname));
if(GetAltTabInfo(nextWin, 0, &pati, pszItemText, sizeof(pszItemText)))
{
TextArea->Lines->Add("ALT+TAB");
} else {
TextArea->Lines->Add(IntToStr(GetLastError()));
}
nextWin = GetNextWindow(nextWin, GW_HWNDNEXT);
} while (nextWin != NULL);
W wyniku otrzymuję kod błędu 1400, czyli niewłaściwy uchwyt do okna. Czy ktoś wie, w jaki sposób uzyskać właściwy uchwyt do okna? W dokumentacji Microsoft piszą tylko, że musi to być okno typu "application-switching".
Funkcja GetNextWindow podaje poprawnie uchwyty do kolejnych okien w systemie.