Einzelnen Beitrag anzeigen

Benutzerbild von Reddog
Reddog

Registriert seit: 18. Jul 2004
Ort: Würzburg
56 Beiträge
 
#5

SearchSysListView - Funktion

  Alt 20. Jul 2004, 00:05
Ich hab mir mal zu diesem Thema Gedanken gemacht und mal eine Funktion geschrieben. Vielleicht ist sie sogar nützlich:

Delphi-Quellcode:
function SearchSysListView(HWND: THandle): THandle;
var
  return: THandle;
  ClassName: string;
  count: integer;
const
  MaxClassLength = 256;
begin
  Result:= 0;

  // Die Klasse des Fensters wird ermittelt
  SetLength(ClassName, MaxClassLength);
  count:= GetClassName(HWND, PChar(ClassName), MaxClassLength);
  If count = 0 then
    RaiseLastOSError;
  SetLength(ClassName, count);

  // Falls das Fenster schon die Klasse besitzt wird das Handle zurückgegeben
  If ClassName = 'SysListView32then begin
    Result:= HWND;
    Exit;
  end;

  // wenn die Klasse nicht SysListView32 ist dann folgen rekursive Aufrufe
  // der Funktion mit den Handles aller Kinder des Fensters
  return:=GetTopWindow(HWND);
  If return <> 0 then begin
    while (return <> 0) and (Result = 0) do begin
      Result:= SearchSysListView(return);
      return:= GetNextWindow(return, GW_HWNDNEXT);
    end;
  end;
end;
Sie macht alle Kinder des Fensters mit dem angegebenem Handle durch nach einem Fenster mit der Klasse "SysListView32". Wenn sie es findet, dann gibt die Funktion das Handle zurück, andernfalls gibt sie 0 zurück.
Wenn der Code schreckliche Fehler enthält, dann bitte nicht böse sein, ich bin noch Anfänger

Ciao, Reddog.
  Mit Zitat antworten Zitat