Funktionreferenz


ProcessList

Beschreibung anzeigen in

Gibt ein Array zurück, das die aktuell laufenden Prozesse auflistet (Namen und PIDs).

ProcessList ( ["name"] )

Parameter

name [optional] Wird ein "Name" angegeben, werden nur Prozesse dieses Namens zurückgegeben.

Rückgabewert

Erfolg: Ein Array der Prozessnamen und -PIDs wird zurückgegeben (siehe Bemerkungen).
Fehler: @error wird auf 1 gesetzt, falls die Liste nicht erstellt werden kann.

Bemerkungen

Das zurückgegebene Array ist 2-dimensional und wie folgt aufgebaut:
    $aArray[0][0] = Anzahl der Prozesse
    $aArray[1][0] = Name des 1. Prozesses
    $aArray[1][1] = Process ID (PID) des 1. Prozesses
    $aArray[2][0] = Name des 2. Prozesses
    $aArray[2][1] = Process ID (PID) des 2. Prozesses
    ...
    $aArray[n][0] = Name des n-ten Prozesses
    $aArray[n][1] = Process ID (PID) des n-ten Prozesses

Die Liste kann leer sein, wenn $aArray[0][0] = 0. In diesem Fall wird @error nicht gesetzt.

[Anm. d. Ü.]
Diese Funktion zeigt keine Prozesse von alten 16-Bit Programmen die unter der Windowseigenen "Windows NT Virtual DOS Machine" (NTVDM) ausgeführt werden. Solche Prozesse sind an einem führenden Leerzeichen im Taskmanager erkennbar.

Verwandte Funktionen

ProcessClose, ProcessExists, ProcessGetStats, ProcessSetPriority, ProcessWait, ProcessWaitClose, WinGetProcess

Beispiel

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Startet den Editor
    Run("notepad.exe")

    ; Wartet maximal 10 Sekunden bis das Editorfenster erscheint.
    Local $hWnd = WinWait("[CLASS:Notepad]", "", 10)

    ; Zeigt eine Liste der Editorprozesse an die durch ProcessList zurückgegeben wurde.
    Local $aProcessList = ProcessList("notepad.exe")
    For $i = 1 To $aProcessList[0][0]
        MsgBox($MB_SYSTEMMODAL, "", $aProcessList[$i][0] & @CRLF & "PID: " & $aProcessList[$i][1])
    Next

    ; Schließt das Editorfenster durch die Verwendung des von WinWait zurückgegebenen Handles.
    WinClose($hWnd)
EndFunc   ;==>Example