Funktionen zum Abrufen von Informationen über ein Prozess oder zum Ausführen verschiedener Operationen an einem Prozess. Klicken Sie auf einen Funktionsnamen, um mehr zu erfahren.
| Funktion | Beschreibung |
|---|---|
| ProcessClose | Erzwingt die Schließung des ersten gefundenen Prozesses. |
| ProcessExist | Prüft, ob ein bestimmter Prozess existiert. |
| ProcessGetName | Gibt den Namen eines bestimmten Prozesses zurück. |
| ProcessGetParent | Gibt die Prozess-ID (PID) des Prozesses zurück, der einen bestimmten Prozess erstellt hat. |
| ProcessGetPath | Gibt den Pfad eines bestimmten Prozesses zurück. |
| ProcessSetPriority | Ändert die Prioritätsstufe des ersten gefundenen Prozesses. |
| ProcessWait | Wartet, bis ein bestimmter Prozess existiert. |
| ProcessWaitClose | Wartet, bis alle gefundenen Prozesse geschlossen sind. |
Prozessliste: Obwohl es keine ProcessList-Funktion gibt, zeigen Beispiel #1 und Beispiel #2, wie eine Liste von Prozessen via DllCall oder COM abgerufen werden kann.
Run, WinClose, WinKill, WinWait, WinWaitClose, WinExist, Win-Funktionen
Zeigt eine Liste von allen laufenden Prozessen an, die via DllCall und EnumProcesses abgerufen wurde.
MeineGui := Gui()
LV := MeineGui.Add("ListView", "w1300 r25", ["#", "PID", "Name", "Pfad"])
for Index, Proz in ProzessListeAbrufen()
LV.Add("", Index, Proz.PID, Proz.Name, Proz.Pfad)
LV.ModifyCol()
MeineGui.Title := LV.GetCount() " Prozesse"
MeineGui.Show()
ProzessListeAbrufen(MaxProzesse := 1024) {
Arr := [] ; Array zum Speichern der Prozessinformationen
DllCall("Psapi.dll\EnumProcesses"
, "Ptr", Puf := Buffer(MaxProzesse * 4) ; Puffer zum Speichern aller PIDs
, "UInt", Puf.Size
, "UIntP", &ByteAnzahl := 0) ; Anzahl der von DllCall zurückgegebenen Bytes
Loop (ByteAnzahl // 4) {
PID := NumGet(Puf, (A_Index - 1) * 4, "UInt")
try Arr.Push({
Name: ProcessGetName(PID),
Pfad: ProcessGetPath(PID),
PID: PID
})
}
return Arr
}
Zeigt eine Liste von allen laufenden Prozessen an, die via COM und Win32_Process abgerufen wurde.
MeineGui := Gui(, "Prozessliste")
LV := MeineGui.Add("ListView", "x2 y0 w400 h500", ["Prozessname", "Befehlszeile"])
for Prozess in ComObjGet("winmgmts:").ExecQuery("Select * from Win32_Process")
LV.Add("", Prozess.Name, Prozess.CommandLine)
MeineGui.Show()