Entwickler-Ecke
Windows API - uallprocess ProzessListe erstellen
F34r0fTh3D4rk - So 12.06.05 12:33
Titel: uallprocess ProzessListe erstellen
Hallo zusammen, ich bin momentan gerade dabei ein paar hooks zu schreiben und bin es eigentlich leid, immer wieder ne neue anwendung zu schreiben um ne neue dll in irgendeinen neuen prozess zu laden, also wollte ich mir ein tool basteln, um dlls in prozesse zu injizieren, natürlich mit den wunderschönen units von uall (respekt).
jetzt bin ich an das problem gestoßen eine Prozessliste zu erstellen, mit den units von uall scheint das eigentlich nicht schwierig zu sein, jedoch bekomme ich nur ein paar prozesse, und ich würde auch gerne stehen haben, um was für einen Prozess es sich handelt (System, Besitzer, Lokaler Dienst, etc);
hier mal meine
Procedure (vielleicht etwas zu kompliziert :lol:):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| procedure ListProcesses(Listbox: TListBox); const sep = #13#10; var str, buf: string; i, s, e: integer; first: boolean; begin first := true; e := 0; s := 0; str := UallProcess.FindallProcesses; for i := 1 to length(str) do begin buf := Copy(str, i, 2); if buf = sep then begin if first = true then begin s := i + 2; first := false; end; if s <> 0 then e := i + 2; if e = 0 then s := i + 2; if (s <> 0) and (e <> 0) then begin listbox.items.add(copy(str, s, e - s - 2)); e := 0; s := 0; end; end; end; listbox.Items.delete(0); end; |
eigentlich könnte ich das auch so machen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure GetProcessList(const aProcessList: TStrings); var Snap: THandle; ProcessE: TProcessEntry32; begin aProcessList.Clear; Snap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); try ProcessE.dwSize := SizeOf(ProcessE); if Process32First(Snap, ProcessE) then Repeat aProcessList.Add(ProcessE.szExeFile); until not Process32Next(Snap, ProcessE) else RaiseLastOSError; finally CloseHandle(Snap); end; end; |
was ist eigentlich dieser [systemprocess] ???
retnyg - So 12.06.05 12:52
der systemprozess ist der idle prozess, den du im taskmanager siehst.
F34r0fTh3D4rk - So 12.06.05 13:06
dank den units von uall ist das programm ja sehr schnell fertig geworden (paar minuten :lol:)
retnyg - So 12.06.05 13:11
jo, die uallcollection is ne unit ganz nach meinem geschmack - systemnah, schnörkellos, schnell und ohne komponenten-registrierung zu verwenden...
F34r0fTh3D4rk - So 12.06.05 13:16
und weils so schön ist, pack ich mein programm jetzt in die opensource sparte :wink:
retnyg - So 12.06.05 13:21
mach dich bitte nicht lächerlich ^^
wenn dein programm nur die prozesse auflistet mit einem aufruf einer fremden routine, wird dir das keine lorbeeren einbringen :roll:
F34r0fTh3D4rk - So 12.06.05 13:25
nee ja net nur 8)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!