Process.GetProcesses Methode

Definition

Erstellt ein Array neuer Process Komponenten und ordnet sie vorhandenen Prozessressourcen zu.

Überlädt

Name Beschreibung
GetProcesses()

Erstellt eine neue Process Komponente für jede Prozessressource auf dem lokalen Computer.

GetProcesses(String)

Erstellt eine neue Process Komponente für jede Prozessressource auf dem angegebenen Computer.

GetProcesses()

Erstellt eine neue Process Komponente für jede Prozessressource auf dem lokalen Computer.

public:
 static cli::array <System::Diagnostics::Process ^> ^ GetProcesses();
public static System.Diagnostics.Process[] GetProcesses();
static member GetProcesses : unit -> System.Diagnostics.Process[]
Public Shared Function GetProcesses () As Process()

Gibt zurück

Ein Array vom Typ Process , das alle Prozessressourcen darstellt, die auf dem lokalen Computer ausgeführt werden.

Beispiele

Im folgenden Beispiel werden Informationen des aktuellen Prozesses, Prozesse abgerufen, die auf dem lokalen Computer ausgeführt werden, alle Instanzen von Editor, die auf dem lokalen Computer ausgeführt werden, und ein bestimmter Prozess auf dem lokalen Computer. Anschließend werden Informationen für dieselben Prozesse auf einem Remotecomputer abgerufen.

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        void BindToRunningProcesses()
        {
            // Get the current process.
            Process currentProcess = Process.GetCurrentProcess();

            // Get all processes running on the local computer.
            Process[] localAll = Process.GetProcesses();

            // Get all instances of Notepad running on the local computer.
            // This will return an empty array if notepad isn't running.
            Process[] localByName = Process.GetProcessesByName("notepad");

            // Get a process on the local computer, using the process id.
            // This will throw an exception if there is no such process.
            Process localById = Process.GetProcessById(1234);

            // Get processes running on a remote computer. Note that this
            // and all the following calls will timeout and throw an exception
            // if "myComputer" and 169.0.0.0 do not exist on your local network.

            // Get all processes on a remote computer.
            Process[] remoteAll = Process.GetProcesses("myComputer");

            // Get all instances of Notepad running on the specific computer, using machine name.
            Process[] remoteByName = Process.GetProcessesByName("notepad", "myComputer");

            // Get all instances of Notepad running on the specific computer, using IP address.
            Process[] ipByName = Process.GetProcessesByName("notepad", "169.0.0.0");

            // Get a process on a remote computer, using the process id and machine name.
            Process remoteById = Process.GetProcessById(2345, "myComputer");
        }

        static void Main()
        {
            MyProcess myProcess = new MyProcess();
            myProcess.BindToRunningProcesses();
        }
    }
}
open System.Diagnostics

// Get the current process.
let currentProcess = Process.GetCurrentProcess()

// Get all processes running on the local computer.
let localAll = Process.GetProcesses()

// Get all instances of Notepad running on the local computer.
// This will return an empty array if notepad isn't running.
let localByName = Process.GetProcessesByName "notepad"

// Get a process on the local computer, using the process id.
// This will throw an exception if there is no such process.
let localById = Process.GetProcessById 1234

// Get processes running on a remote computer. Note that this
// and all the following calls will timeout and throw an exception
// if "myComputer" and 169.0.0.0 do not exist on your local network.

// Get all processes on a remote computer.
let remoteAll = Process.GetProcesses "myComputer"

// Get all instances of Notepad running on the specific computer, using machine name.
let remoteByName = Process.GetProcessesByName("notepad", "myComputer")

// Get all instances of Notepad running on the specific computer, using IP address.
let ipByName = Process.GetProcessesByName("notepad", "169.0.0.0")

// Get a process on a remote computer, using the process id and machine name.
let remoteById = Process.GetProcessById(2345, "myComputer")
Imports System.Diagnostics
Imports System.ComponentModel

Namespace MyProcessSample
    Class MyProcess
        Sub BindToRunningProcesses()
            ' Get the current process. You can use currentProcess from this point
            ' to access various properties and call methods to control the process.
            Dim currentProcess As Process = Process.GetCurrentProcess()

            ' Get all processes running on the local computer.
            Dim localAll As Process() = Process.GetProcesses()

            ' Get all instances of Notepad running on the local computer.
            ' This will return an empty array if notepad isn't running.
            Dim localByName As Process() = Process.GetProcessesByName("notepad")

            ' Get a process on the local computer, using the process id.
            ' This will throw an exception if there is no such process.
            Dim localById As Process = Process.GetProcessById(1234)


            ' Get processes running on a remote computer. Note that this
            ' and all the following calls will timeout and throw an exception
            ' if "myComputer" and 169.0.0.0 do not exist on your local network.

            ' Get all processes on a remote computer.
            Dim remoteAll As Process() = Process.GetProcesses("myComputer")

            ' Get all instances of Notepad running on the specific computer, using machine name.
            Dim remoteByName As Process() = Process.GetProcessesByName("notepad", "myComputer")

            ' Get all instances of Notepad running on the specific computer, using IP address.
            Dim ipByName As Process() = Process.GetProcessesByName("notepad", "169.0.0.0")

            ' Get a process on a remote computer, using the process id and machine name.
            Dim remoteById As Process = Process.GetProcessById(2345, "myComputer")
        End Sub

        Shared Sub Main()
            Dim myProcess As New MyProcess()
            myProcess.BindToRunningProcesses()
        End Sub

    End Class

End Namespace 'MyProcessSample

Hinweise

Verwenden Sie diese Methode, um ein Array neuer Process Komponenten zu erstellen und sie allen Prozessressourcen auf dem lokalen Computer zuzuordnen. Die Prozessressourcen müssen bereits auf dem lokalen Computer vorhanden sein, da GetProcesses keine Systemressourcen erstellt werden, sondern Ressourcen mit anwendungsgenerierten Komponenten verknüpft Process werden. Da das Betriebssystem selbst Hintergrundprozesse ausführt, ist dieses Array nie leer.

Wenn Sie nicht alle prozesse abrufen möchten, die auf dem Computer ausgeführt werden, können Sie deren Anzahl mithilfe der oder GetProcessesByName der GetProcessById Methode einschränken. GetProcessById erstellt eine Process Komponente, die dem im System identifizierten Prozess durch den Prozessbezeichner zugeordnet ist, den Sie an die Methode übergeben. GetProcessesByName erstellt ein Array von Process Komponenten, deren zugeordnete Prozessressourcen die ausführbare Datei freigeben, die Sie an die Methode übergeben.

Note

Mehrere Windows Dienste können innerhalb derselben Instanz des Diensthostprozesses geladen werden (svchost.exe). GetProcesses identifiziert diese einzelnen Dienste nicht; dies finden Sie unter GetServices.

Weitere Informationen

Gilt für:

GetProcesses(String)

Erstellt eine neue Process Komponente für jede Prozessressource auf dem angegebenen Computer.

public:
 static cli::array <System::Diagnostics::Process ^> ^ GetProcesses(System::String ^ machineName);
public static System.Diagnostics.Process[] GetProcesses(string machineName);
static member GetProcesses : string -> System.Diagnostics.Process[]
Public Shared Function GetProcesses (machineName As String) As Process()

Parameter

machineName
String

Der Computer, von dem aus die Liste der Prozesse gelesen werden soll.

Gibt zurück

Ein Array vom Typ Process , das alle Prozessressourcen darstellt, die auf dem angegebenen Computer ausgeführt werden.

Ausnahmen

Die machineName Parametersyntax ist ungültig. Möglicherweise hat er die Länge Null (0).

Der machineName Parameter ist null.

Die Betriebssystemplattform unterstützt diesen Vorgang auf Remotecomputern nicht.

Es gibt Probleme beim Zugriff auf die Leistungsindikator-APIs, die zum Abrufen von Prozessinformationen verwendet werden. Diese Ausnahme ist spezifisch für Windows NT, Windows 2000 und Windows XP.

Beim Zugriff auf eine zugrunde liegende System-API ist ein Problem aufgetreten.

Beispiele

Im folgenden Beispiel werden Informationen des aktuellen Prozesses, Prozesse abgerufen, die auf dem lokalen Computer ausgeführt werden, alle Instanzen von Editor, die auf dem lokalen Computer ausgeführt werden, und ein bestimmter Prozess auf dem lokalen Computer. Anschließend werden Informationen für dieselben Prozesse auf einem Remotecomputer abgerufen.

using System;
using System.Diagnostics;
using System.ComponentModel;

namespace MyProcessSample
{
    class MyProcess
    {
        void BindToRunningProcesses()
        {
            // Get the current process.
            Process currentProcess = Process.GetCurrentProcess();

            // Get all processes running on the local computer.
            Process[] localAll = Process.GetProcesses();

            // Get all instances of Notepad running on the local computer.
            // This will return an empty array if notepad isn't running.
            Process[] localByName = Process.GetProcessesByName("notepad");

            // Get a process on the local computer, using the process id.
            // This will throw an exception if there is no such process.
            Process localById = Process.GetProcessById(1234);

            // Get processes running on a remote computer. Note that this
            // and all the following calls will timeout and throw an exception
            // if "myComputer" and 169.0.0.0 do not exist on your local network.

            // Get all processes on a remote computer.
            Process[] remoteAll = Process.GetProcesses("myComputer");

            // Get all instances of Notepad running on the specific computer, using machine name.
            Process[] remoteByName = Process.GetProcessesByName("notepad", "myComputer");

            // Get all instances of Notepad running on the specific computer, using IP address.
            Process[] ipByName = Process.GetProcessesByName("notepad", "169.0.0.0");

            // Get a process on a remote computer, using the process id and machine name.
            Process remoteById = Process.GetProcessById(2345, "myComputer");
        }

        static void Main()
        {
            MyProcess myProcess = new MyProcess();
            myProcess.BindToRunningProcesses();
        }
    }
}
open System.Diagnostics

// Get the current process.
let currentProcess = Process.GetCurrentProcess()

// Get all processes running on the local computer.
let localAll = Process.GetProcesses()

// Get all instances of Notepad running on the local computer.
// This will return an empty array if notepad isn't running.
let localByName = Process.GetProcessesByName "notepad"

// Get a process on the local computer, using the process id.
// This will throw an exception if there is no such process.
let localById = Process.GetProcessById 1234

// Get processes running on a remote computer. Note that this
// and all the following calls will timeout and throw an exception
// if "myComputer" and 169.0.0.0 do not exist on your local network.

// Get all processes on a remote computer.
let remoteAll = Process.GetProcesses "myComputer"

// Get all instances of Notepad running on the specific computer, using machine name.
let remoteByName = Process.GetProcessesByName("notepad", "myComputer")

// Get all instances of Notepad running on the specific computer, using IP address.
let ipByName = Process.GetProcessesByName("notepad", "169.0.0.0")

// Get a process on a remote computer, using the process id and machine name.
let remoteById = Process.GetProcessById(2345, "myComputer")
Imports System.Diagnostics
Imports System.ComponentModel

Namespace MyProcessSample
    Class MyProcess
        Sub BindToRunningProcesses()
            ' Get the current process. You can use currentProcess from this point
            ' to access various properties and call methods to control the process.
            Dim currentProcess As Process = Process.GetCurrentProcess()

            ' Get all processes running on the local computer.
            Dim localAll As Process() = Process.GetProcesses()

            ' Get all instances of Notepad running on the local computer.
            ' This will return an empty array if notepad isn't running.
            Dim localByName As Process() = Process.GetProcessesByName("notepad")

            ' Get a process on the local computer, using the process id.
            ' This will throw an exception if there is no such process.
            Dim localById As Process = Process.GetProcessById(1234)


            ' Get processes running on a remote computer. Note that this
            ' and all the following calls will timeout and throw an exception
            ' if "myComputer" and 169.0.0.0 do not exist on your local network.

            ' Get all processes on a remote computer.
            Dim remoteAll As Process() = Process.GetProcesses("myComputer")

            ' Get all instances of Notepad running on the specific computer, using machine name.
            Dim remoteByName As Process() = Process.GetProcessesByName("notepad", "myComputer")

            ' Get all instances of Notepad running on the specific computer, using IP address.
            Dim ipByName As Process() = Process.GetProcessesByName("notepad", "169.0.0.0")

            ' Get a process on a remote computer, using the process id and machine name.
            Dim remoteById As Process = Process.GetProcessById(2345, "myComputer")
        End Sub

        Shared Sub Main()
            Dim myProcess As New MyProcess()
            myProcess.BindToRunningProcesses()
        End Sub

    End Class

End Namespace 'MyProcessSample

Hinweise

Verwenden Sie diese Methode, um ein Array neuer Process Komponenten zu erstellen und sie allen Prozessressourcen auf dem angegebenen (normalerweise Remotecomputer) zuzuordnen. Die Prozessressourcen müssen bereits auf dem lokalen Computer vorhanden sein, da GetProcesses keine Systemressourcen erstellt werden, sondern Ressourcen mit anwendungsgenerierten Komponenten verknüpft Process werden. Da das Betriebssystem selbst Hintergrundprozesse ausführt, ist dieses Array nie leer.

Wenn Sie nicht alle prozesse abrufen möchten, die auf dem Computer ausgeführt werden, können Sie deren Anzahl mithilfe der oder GetProcessesByName der GetProcessById Methode einschränken. GetProcessById erstellt eine Process Komponente, die dem im System identifizierten Prozess durch den Prozessbezeichner zugeordnet ist, den Sie an die Methode übergeben. GetProcessesByName erstellt ein Array von Process Komponenten, deren zugeordnete Prozessressourcen die ausführbare Datei freigeben, die Sie an die Methode übergeben.

Diese Überladung der GetProcesses Methode wird in der Regel verwendet, um die Liste der Prozessressourcen abzurufen, die auf einem Remotecomputer im Netzwerk ausgeführt werden, aber Sie können den lokalen Computer angeben, indem Sie "." übergeben.

Note

Mehrere Windows Dienste können innerhalb derselben Instanz des Diensthostprozesses geladen werden (svchost.exe). GetProcesses identifiziert diese einzelnen Dienste nicht; dies finden Sie unter GetServices.

Weitere Informationen

Gilt für: