WinAPI

EnumWindows

  • 2010-10-31 18:27
  • 0 komentarzy
  • 1554 odsłony
  • Oceń ten tekst jako pierwszy
// C
BOOL EnumWindows(
    WNDENUMPROC lpEnumFunc,
    LPARAM lParam
);

// Delphi
function EnumWindows(lpEnumFunc: Pointer; lParam: DWORD): BOOL;

Funkcja EnumWindows wylicza wszystkie okna nadrzędne na ekranie przekazując uchwyt każdego z nich do funkcji zwrotnej. Funkcja EnumWindows kontynuuje działanie aż do napotkania ostatniego okna nadrzędnego lub do momemntu, gdy funkcja zwrotna zwróci wartość FALSE.


Parametry
lpEnumFunc
Wskaźnik na funkcję zwrotną. Więcej informacji znajduje się w opisie EnumWindowsProc.

lParam
Parametr, który będzie przekazany funkcji zwrotnej przy każdym jej wywołaniu.


Wartość zwracana
Jeśli funkcja się powiedzie, zwraca wartość różną od zera (True).

{{Template:NULLGetLastError|0 (False)}}

Jeśli funkcja zwrotna zwróci 0 (False), funkcja EnumWindows również zwróci 0. W takim przypadku funkcja zwrotna powinna ustawić kod błędu za pomocą funkcji SetLastError, aby określić co spowodowało błąd.


Uwagi
Funkcja EnumWindows nie wylicza okien potomnych, za wyjątkiem kilku okien systemowych mających styl WS_CHILD.

Ta funkcja jest bardziej niezawodna niż wywoływanie funkcji GetWindow w pętli. Przy wywoływaniu GetWindow w pętli istnieje ryzyko utknięcia w nieskończonej pętli bądź odwołania się do okna, które już zostało zniszczone.


Zobacz też