Einzelnen Beitrag anzeigen

Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#9
  Alt 20. Jun 2003, 15:45
Bei EnumWindows komm ich leider mit der CallBack Funktion nicht klar.

Ich benutze jetzt die folgende Methode, die auch funktioniert!
Delphi-Quellcode:
procedure TForm1.GetProgList;

 procedure getTitle(MyHandle:THandle);
 var i:integer;
     s: Array[0..MAX_PATH] of char;
 begin
  i:= GetWindowTextLength(MyHandle);
  If i > 0
   then
    begin
     GetWindowText(MyHandle,s,SizeOf(s));
     ListView3.Items.Add;
     i:=ListView3.Items.Count-1;
     ListView3.Items[i].Caption:=s;
     ListView3.Items[i].SubItems.Add('Status');
    end;
 end;

var MyHandle: THandle;
begin
MyHandle:=GetWindow(Handle, GW_HWNDFIRST);
If MyHandle > 0
 then
  begin
   getTitle(MyHandle);
   while MyHandle > 0 do
    begin
     MyHandle:= GetWindow(MyHandle, GW_HWNDNEXT);
     If ((IsWindowVisible(MyHandle)) or (IsIconic(MyHandle)))
     and((GetWindowLong(MyHandle, GWL_HWNDPARENT) = 0))
      then getTitle(MyHandle);
    end;
  end;
end;
  Mit Zitat antworten Zitat