Einzelnen Beitrag anzeigen

perle

Registriert seit: 8. Apr 2004
183 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Auflisten der ausgeführten Anwendungen

  Alt 12. Jan 2005, 16:41
Mit Hilfe dieser Function ist es möglich alle laufenden Prozesse aufzulisten. In diesem Beispiel werden alle Prozesse nach dem Schema 'Handle:Fenstertitel' in einer Listbox aufgelistet:

Delphi-Quellcode:
function EnumWinProc(Wnd: hWnd): Boolean; StdCall;
 var
  WinCaption : Pchar;
  WinHandle : string;
 begin
   GetMem(WinCaption, 255);
   try
     GetWindowText(Wnd, WinCaption, 255);
     Result := True;
     if (Trim(WinCaption) <> '') then
     begin
       WinHandle := IntToHex(Wnd, 6);
       Form1.ListBox1.Items.add(WinHandle + ' : ' + WinCaption);
     end;
   finally
    FreeMem(WinCaption, 255);
   end;
 end;
Die Funktion kann so aufgerufen werden:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  EnumWindows(@EnumWinProc, Application.Handle);
end;


falls du lieber die Exenamen angezeigt haben möchstest kannst du es besser so machen...

Delphi-Quellcode:
procedure FillAppList(Applist: Tstrings);
var Snap:THandle;
        ProcessE:TProcessEntry32;
begin
     Applist.Clear;
     Snap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
     ProcessE.dwSize:=SizeOf(ProcessE);
     if Process32First(Snap,ProcessE) then
     begin
          Applist.Add(string(ProcessE.szExeFile));
          while Process32Next(Snap,ProcessE) do
                 Applist.Add(string(ProcessE.szExeFile));
      end
      else ShowMessage('Fehler!');
      CloseHandle(Snap);
end;
Aufrufen kann man die Prozedur dann so:

FillAppList(ListBox1.items);

------

Quelle : EDH
  Mit Zitat antworten Zitat