Thema: Delphi Probleme mit EnumWindows

Einzelnen Beitrag anzeigen

neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#6

Re: Probleme mit EnumWindows

  Alt 7. Nov 2005, 01:33
Mir fällt da noch was auf.

Delphi-Quellcode:
type THandleArray = array of HWND;

function FindAllWindows(const WindowCaption: String): THandleArray;
type
  PParam = ^TParam;
  TParam = record
    WindowCaption: String;
    Res: THandleArray;
  end;
var
  Rec: TParam;
  function _EnumProc(_hWnd: HWND; _LParam: PParam): LongBool; stdcall; // so spart man sich ein Typ-Casting
  var
    cTitle: array[0..1023] of Char;
  begin
    with _LParam^ do
    begin
      GetWindowText(_hWnd, cTitle, SizeOf(cTitle));
      if (CompareText(cTitle, WindowCaption) = 0) then
      begin
        SetLength(Res, Length(Res)+1);
        Res[Length(Res)-1] := _hWnd;
      end;
      Result := True;
    end;
  end;
begin
  Rec.WindowCaption := WindowCaption;
  SetLength(Rec.Res, 0);
  EnumWindows(@_EnumProc, Integer(@Rec)); // hier hat das Integer gefehlt
  Result := Rec.Res;
end;
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat