Thema: Delphi Delphi suchen...

Einzelnen Beitrag anzeigen

Benutzerbild von S - tefano
S - tefano

Registriert seit: 16. Dez 2002
Ort: Dülmen
477 Beiträge
 
Delphi 2009 Professional
 
#11
  Alt 1. Jul 2003, 16:26
Hi,

zum Prozesse auflisten hab ich vor ein paar Wochen mal bei Swissdelphicenter was gefunden und etwas abgewandelt:

Delphi-Quellcode:
{GetProcesses schreibt die laufenden Prozesse (Exe- Dateien) in eine
Textdatei. Gibt 0 zurück, wenn alles lief, ansonsten die entsprechende IO-
Fehlernummer. Nur Shortstring und kompatibel übergeben (als Filename)}

function GetProcesses(fname: shortstring): integer;
var
  hProcSnap: THandle;
  pe32: TProcessEntry32;
  f: textfile;
  i: integer;
Label
  ende;
begin
  i:= 0;
  result:= i;
  assignfile(f, fname);
  { Snapshot machen *PENG* }
  hProcSnap := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0);
  if hProcSnap = INVALID_HANDLE_VALUE then exit;
  pe32.dwSize := SizeOf(ProcessEntry32);
  {$I-}
  rewrite(f);
  i:= ioresult;
  if i <> 0 then
  begin
    result:= i;
    goto ende;
  end;
  {wenn das SizeofDingens geklappt hat}
  if Process32First(hProcSnap, pe32) = true then
    { und los geht's }
    while Process32Next(hProcSnap, pe32) = true do
    begin
      writeln(f, pe32.szExeFile);
      i:= ioresult;
      if i <> 0 then
      begin
        result:= i;
        goto ende;
      end;
    end;
  ende:
  CloseFile(f);
  {$I+}
  CloseHandle(hProcSnap);
end;
Nen Teil hab ich noch nich so recht verstanden, daher ein paar komische Kommentare.
Meine Abwandlung ist dass ich die Prozesse die ich bekomme in ne Datei schreibe, die ich dann später in ne ListBox oder sonstwas laden kann.
Das funktioniert übrigens unter 9x- und NT Systemen.
Wenn du dich für diese Variante noch interessierst, kannstes ja mal probieren.

Bis dann,

S - tefano

[EDIT]Achja, bitte steinigt mich nicht wegen der Labels...[/EDIT]
"Sir, we are surrounded!" - "Excellent, we can attack in every direction!"
  Mit Zitat antworten Zitat