Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Auflisten der ausgeführten Anwendungen (https://www.delphipraxis.net/37935-auflisten-der-ausgefuehrten-anwendungen.html)

Nils_13 12. Jan 2005 14:14


Auflisten der ausgeführten Anwendungen
 
Hi,

wie listet man alle "Online" stehenden Anwendungen auf?

Sprint 12. Jan 2005 14:41

Re: Auflisten der ausgeführten Anwendungen
 
Zitat:

Zitat von Nils_13
wie listet man alle "Online" stehenden Anwendungen auf?

Prozesse oder sichtbare Tasks?

Nils_13 12. Jan 2005 14:44

Re: Auflisten der ausgeführten Anwendungen
 
Sichtbare Tasks

toms 12. Jan 2005 15:31

Re: Auflisten der ausgeführten Anwendungen
 
Was verstehst du unter "Online" ? Mit dem Internet verbunden?

Nils_13 12. Jan 2005 15:38

Re: Auflisten der ausgeführten Anwendungen
 
Online heißt nichts anderes als gerade laufende Anwendung.

toms 12. Jan 2005 15:40

Re: Auflisten der ausgeführten Anwendungen
 
Ein Beispiel findest du u.a. hier http://www.swissdelphicenter.ch/de/showcode.php?id=616

perle 12. Jan 2005 15:41

Re: Auflisten der ausgeführten Anwendungen
 
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:

Delphi-Quellcode:
FillAppList(ListBox1.items);


------

Quelle : EDH


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz