Process.GetProcesses Metódus

Definíció

Új összetevők tömbjét Process hozza létre, és társítja őket a meglévő folyamaterőforrásokkal.

Túlterhelések

Name Description
GetProcesses()

Létrehoz egy új Process összetevőt a helyi számítógépen található minden egyes folyamaterőforráshoz.

GetProcesses(String)

Létrehoz egy új Process összetevőt a megadott számítógépen található összes folyamaterőforráshoz.

GetProcesses()

Létrehoz egy új Process összetevőt a helyi számítógépen található minden egyes folyamaterőforráshoz.

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()

Válaszok

Olyan típusú Process tömb, amely a helyi számítógépen futó összes folyamaterőforrást jelöli.

Példák

Az alábbi példa beolvassa az aktuális folyamat adatait, a helyi számítógépen futó folyamatokat, a helyi számítógépen futó Jegyzettömb összes példányát és egy adott folyamatot a helyi számítógépen. Ezután lekéri a távoli számítógépen található folyamatokra vonatkozó információkat.

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

Megjegyzések

Ezzel a módszerrel új Process összetevők tömbjét hozhatja létre, és társíthatja őket a helyi számítógépen található összes folyamaterőforrással. A folyamaterőforrásoknak már létezniük kell a helyi számítógépen, mert GetProcesses nem hoznak létre rendszererőforrásokat, hanem az erőforrásokat az alkalmazás által létrehozott Process összetevőkhöz társítják. Mivel maga az operációs rendszer futtat háttérfolyamatokat, ez a tömb soha nem üres.

Ha nem szeretné lekérni a számítógépen futó összes folyamatot, a számukat korlátozhatja a GetProcessById módszerrel.GetProcessesByName GetProcessById létrehoz egy összetevőt Process , amely a rendszeren a metódusnak átadott folyamatazonosító által azonosított folyamathoz van társítva. GetProcessesByName olyan összetevők tömbjét Process hozza létre, amelyek társított folyamaterőforrásai megosztják a metódusnak átadott végrehajtható fájlt.

Note

Több Windows szolgáltatás tölthető be a Szolgáltatásgazda folyamat ugyanazon példányán belül (svchost.exe). A GetProcesses nem azonosítja ezeket az egyes szolgáltatásokat; ehhez lásd GetServices: .

Lásd még

A következőre érvényes:

GetProcesses(String)

Létrehoz egy új Process összetevőt a megadott számítógépen található összes folyamaterőforráshoz.

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()

Paraméterek

machineName
String

Az a számítógép, amelyről a folyamatok listáját olvasni szeretné.

Válaszok

Olyan típusú Process tömb, amely a megadott számítógépen futó összes folyamaterőforrást jelöli.

Kivételek

A machineName paraméter szintaxisa érvénytelen. Lehet, hogy nulla (0) hosszúságú.

A machineName paraméter a következő null: .

Az operációs rendszer platformja nem támogatja ezt a műveletet távoli számítógépeken.

Problémákat tapasztal a folyamatinformációk lekéréséhez használt teljesítményszámláló API-k elérésekor. Ez a kivétel Windows NT- és 2000-Windows és Windows XP vonatkozik.

Hiba történt egy mögöttes rendszer API elérésekor.

Példák

Az alábbi példa beolvassa az aktuális folyamat adatait, a helyi számítógépen futó folyamatokat, a helyi számítógépen futó Jegyzettömb összes példányát és egy adott folyamatot a helyi számítógépen. Ezután lekéri a távoli számítógépen található folyamatokra vonatkozó információkat.

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

Megjegyzések

Ezzel a módszerrel új Process összetevők tömbjét hozhatja létre, és társíthatja őket a megadott (általában távoli) számítógépen található összes folyamaterőforrással. A folyamaterőforrásoknak már létezniük kell a helyi számítógépen, mert GetProcesses nem hoznak létre rendszererőforrásokat, hanem az erőforrásokat az alkalmazás által létrehozott Process összetevőkhöz társítják. Mivel maga az operációs rendszer futtat háttérfolyamatokat, ez a tömb soha nem üres.

Ha nem szeretné lekérni a számítógépen futó összes folyamatot, a számukat korlátozhatja a GetProcessById módszerrel.GetProcessesByName GetProcessById létrehoz egy összetevőt Process , amely a rendszeren a metódusnak átadott folyamatazonosító által azonosított folyamathoz van társítva. GetProcessesByName olyan összetevők tömbjét Process hozza létre, amelyek társított folyamaterőforrásai megosztják a metódusnak átadott végrehajtható fájlt.

A metódus túlterhelését GetProcesses általában a hálózat távoli számítógépén futó folyamaterőforrások listájának lekérésére használják, de a helyi számítógépet a "".

Note

Több Windows szolgáltatás tölthető be a Szolgáltatásgazda folyamat ugyanazon példányán belül (svchost.exe). A GetProcesses nem azonosítja ezeket az egyes szolgáltatásokat; ehhez lásd GetServices: .

Lásd még

A következőre érvényes: