Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi herausbekommen welche Programme bereits gestartet sind. (https://www.delphipraxis.net/98237-herausbekommen-welche-programme-bereits-gestartet-sind.html)

smart 23. Aug 2007 16:23


herausbekommen welche Programme bereits gestartet sind.
 
Hallo Alle!

Ich brauche noch mal Hilfe. Wir kann ich herausbekommen welche Programme bereits gestartet sind. Ich habe aber keine Taskleiste!

Gruß
Heike

mkinzler 23. Aug 2007 16:25

Re: herausbekommen welche Programme bereits gestartet sind.
 
Taskmanager

Matze 23. Aug 2007 16:50

Re: herausbekommen welche Programme bereits gestartet sind.
 
Hallo,

du könntest die laufenden Prozesse mittels EnumProcesses auflisten oder falls es dir darum geht, herauszufinden, ob eine bestimmte Anwendung läuft, diesen Code nutzen.

smart 23. Aug 2007 16:51

Re: herausbekommen welche Programme bereits gestartet sind.
 
Zitat:

Zitat von mkinzler
Taskmanager

Meinst Du So etwar:
Delphi-Quellcode:
function FindApplication(Window: HWND): Boolean; stdcall;
var Buffer: array[0..255] of Char;
begin
  Result := True;
  if GetWindowText(Window, Buffer, 256) <> 0 then
    Form1.ListBox1.Items.Add(Buffer);
end;
Und dies dann mit einem Timer ständig aufrufen?

Gruß
Heike

bitsetter 25. Aug 2007 19:49

Re: herausbekommen welche Programme bereits gestartet sind.
 
eine Liste aller laufenden Exe-Dateien erhalten

Olli 25. Aug 2007 21:00

Re: herausbekommen welche Programme bereits gestartet sind.
 
Unsicher, weil man bei der ToolHelp-API nicht dem zurückgegebenen Pfad trauen kann (der wird abgeschnitten und ist nur ANSI).

PSAPI hat dieses Problem meines Wissens nach nicht.

Das nur als Hinweis, um entsprechende Fehler schneller zu finden, oder besser innerhalb des Codes auszuschließen.

bitsetter 25. Aug 2007 21:46

Re: herausbekommen welche Programme bereits gestartet sind.
 
Zitat:

Zitat von Olli
Unsicher, weil man bei der ToolHelp-API nicht dem zurückgegebenen Pfad trauen kann (der wird abgeschnitten und ist nur ANSI).

Bei Windows 9X anscheinend aber nicht es wird ja dann auch CreateWin9xProcessList(List); oder CreateWinNTProcessList(List); aufgerufen. Bei mir funktioniert der Code jedenfalls auf Win98 und XP.

Olli 25. Aug 2007 21:54

Re: herausbekommen welche Programme bereits gestartet sind.
 
Zitat:

Zitat von bitsetter
Zitat:

Zitat von Olli
Unsicher, weil man bei der ToolHelp-API nicht dem zurückgegebenen Pfad trauen kann (der wird abgeschnitten und ist nur ANSI).

Bei Windows 9X anscheinend aber nicht es wird ja dann auch CreateWin9xProcessList(List); oder CreateWinNTProcessList(List); aufgerufen. Bei mir funktioniert der Code jedenfalls auf Win98 und XP.

Die ToolHelp-API wurde mit Windows 2000 auch auf die NT-Plattform portiert. Meine Aussage war leider etwas unklar. Sie galt für die NT-Plattform und die ToolHelp-API. Bei PSAPI ist alles im grünen Bereich, da diese den Modulnamen aus dem laufenden Prozess ermittelt und nicht aus dem EPROCESS-Objekt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 Uhr.

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