Process.GetProcessById Process.GetProcessById Process.GetProcessById Process.GetProcessById Method

Definizione

Crea un nuovo componente Process e lo associa alla risorsa di processo esistente specificata.Creates a new Process component, and associates it with the existing process resource that you specify.

Overload

GetProcessById(Int32) GetProcessById(Int32) GetProcessById(Int32) GetProcessById(Int32)

Restituisce un nuovo componente Process, dato l'identificatore di un processo nel computer locale.Returns a new Process component, given the identifier of a process on the local computer.

GetProcessById(Int32, String) GetProcessById(Int32, String) GetProcessById(Int32, String) GetProcessById(Int32, String)

Restituisce un nuovo componente Process, dato un identificatore di processo e il nome di un computer sulla rete.Returns a new Process component, given a process identifier and the name of a computer on the network.

GetProcessById(Int32) GetProcessById(Int32) GetProcessById(Int32) GetProcessById(Int32)

Restituisce un nuovo componente Process, dato l'identificatore di un processo nel computer locale.Returns a new Process component, given the identifier of a process on the local computer.

public:
 static System::Diagnostics::Process ^ GetProcessById(int processId);
public static System.Diagnostics.Process GetProcessById (int processId);
static member GetProcessById : int -> System.Diagnostics.Process
Public Shared Function GetProcessById (processId As Integer) As Process

Parametri

processId
Int32 Int32 Int32 Int32

Identificatore univoco nel sistema di una risorsa di processo.The system-unique identifier of a process resource.

Restituisce

Componente Process associato alla risorsa locale del processo identificata dal parametro processId.A Process component that is associated with the local process resource identified by the processId parameter.

Eccezioni

Il processo specificato dal parametro processId non è in esecuzione.The process specified by the processId parameter is not running. L'identificatore potrebbe essere scaduto.The identifier might be expired.

Il processo non è stato avviato da questo oggetto.The process was not started by this object.

Esempi

Nell'esempio seguente recupera le informazioni del processo corrente, i processi in esecuzione nel computer locale, tutte le istanze del blocco note in esecuzione nel computer locale e un processo specifico nel computer locale.The following example retrieves information of the current process, processes running on the local computer, all instances of Notepad running on the local computer, and a specific process on the local computer. Viene quindi recuperato informazioni per gli stessi processi in un computer remoto.It then retrieves information for the same processes on a remote computer.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;
int main()
{   
   // Get the current process.    
   Process^ currentProcess = Process::GetCurrentProcess();

   // Get all processes running on the local computer.
   array<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.
   array<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.
   array<Process^>^remoteAll = Process::GetProcesses("myComputer");

   // Get all instances of Notepad running on the specific computer, using machine name.
   array<Process^>^remoteByName = Process::GetProcessesByName( "notepad", "myComputer" );
   
   // Get all instances of Notepad running on the specific computer, using IP address.
   array<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" );
}
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();
        }
    }
}
Imports System
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 'BindToRunningProcesses

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

    End Class 'MyProcess

End Namespace 'MyProcessSample

Commenti

Usare questo metodo per creare un nuovo Process componente e associarlo a una risorsa di processo nel computer locale.Use this method to create a new Process component and associate it with a process resource on the local computer. La risorsa di processo deve esistere già nel computer, in quanto GetProcessById(Int32) non crea una risorsa di sistema, ma piuttosto generati dall'applicazione associa una risorsa Process componente.The process resource must already exist on the computer, because GetProcessById(Int32) does not create a system resource, but rather associates a resource with an application-generated Process component. Un processo Id può essere recuperato solo per un processo attualmente in esecuzione nel computer.A process Id can be retrieved only for a process that is currently running on the computer. Dopo che il processo viene terminato, GetProcessById(Int32) genera un'eccezione se viene passato un identificatore scaduto.After the process terminates, GetProcessById(Int32) throws an exception if you pass it an expired identifier.

Su un particolare computer, l'identificatore di un processo è univoco.On any particular computer, the identifier of a process is unique. GetProcessById(Int32) Restituisce al massimo un processo.GetProcessById(Int32) returns one process at most. Se si desidera ottenere tutti i processi in esecuzione di una determinata applicazione, usare GetProcessesByName(String).If you want to get all the processes running a particular application, use GetProcessesByName(String). Se nel computer che esegue l'applicazione specificata, sono presenti più processi GetProcessesByName(String) restituisce una matrice contenente tutti i processi associati.If multiple processes exist on the computer running the specified application, GetProcessesByName(String) returns an array containing all the associated processes. È possibile eseguire una query ognuno di questi processi, a sua volta per il relativo identificatore.You can query each of these processes in turn for its identifier. L'identificatore di processo può essere visualizzato nei Processes Pannello di Gestione attività Windows.The process identifier can be viewed in the Processes panel of the Windows Task Manager. Il PID colonna viene visualizzato l'identificatore di processo assegnato a un processo.The PID column displays the process identifier that is assigned to a process.

Il processId parametro è un Int32 (un intero 32 bit con segno), anche se l'API di Windows sottostante utilizza un DWORD (intero senza segno a 32 bit) per l'API simili.The processId parameter is an Int32 (a 32-bit signed integer), although the underlying Windows API uses a DWORD (an unsigned 32-bit integer) for similar APIs. Questo avviene per motivi cronologici.This is for historical reasons.

Sicurezza

LinkDemand
per un'attendibilità totale per il chiamante immediato.for full trust for the immediate caller. Impossibile utilizzare questo membro in codice parzialmente attendibile.This member cannot be used by partially trusted code.

Vedi anche

GetProcessById(Int32, String) GetProcessById(Int32, String) GetProcessById(Int32, String) GetProcessById(Int32, String)

Restituisce un nuovo componente Process, dato un identificatore di processo e il nome di un computer sulla rete.Returns a new Process component, given a process identifier and the name of a computer on the network.

public:
 static System::Diagnostics::Process ^ GetProcessById(int processId, System::String ^ machineName);
public static System.Diagnostics.Process GetProcessById (int processId, string machineName);
static member GetProcessById : int * string -> System.Diagnostics.Process
Public Shared Function GetProcessById (processId As Integer, machineName As String) As Process

Parametri

processId
Int32 Int32 Int32 Int32

Identificatore univoco nel sistema di una risorsa di processo.The system-unique identifier of a process resource.

machineName
String String String String

Nome di un computer della rete.The name of a computer on the network.

Restituisce

Componente Process associato a una risorsa di processo remota identificata dal parametro processId.A Process component that is associated with a remote process resource identified by the processId parameter.

Eccezioni

Il processo specificato dal parametro processId non è in esecuzione.The process specified by the processId parameter is not running. L'identificatore potrebbe essere scaduto.The identifier might be expired.

In alternativa-or- La sintassi del parametro machineName non è valida.The machineName parameter syntax is invalid. Il nome potrebbe avere lunghezza zero (0).The name might have length zero (0).

Il valore del parametro machineName è null.The machineName parameter is null.

Il processo non è stato avviato da questo oggetto.The process was not started by this object.

Esempi

Nell'esempio seguente recupera le informazioni del processo corrente, i processi in esecuzione nel computer locale, tutte le istanze del blocco note in esecuzione nel computer locale e un processo specifico nel computer locale.The following example retrieves information of the current process, processes running on the local computer, all instances of Notepad running on the local computer, and a specific process on the local computer. Viene quindi recuperato informazioni per gli stessi processi in un computer remoto.It then retrieves information for the same processes on a remote computer.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::ComponentModel;
int main()
{   
   // Get the current process.    
   Process^ currentProcess = Process::GetCurrentProcess();

   // Get all processes running on the local computer.
   array<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.
   array<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.
   array<Process^>^remoteAll = Process::GetProcesses("myComputer");

   // Get all instances of Notepad running on the specific computer, using machine name.
   array<Process^>^remoteByName = Process::GetProcessesByName( "notepad", "myComputer" );
   
   // Get all instances of Notepad running on the specific computer, using IP address.
   array<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" );
}
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();
        }
    }
}
Imports System
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 'BindToRunningProcesses

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

    End Class 'MyProcess

End Namespace 'MyProcessSample

Commenti

Usare questo metodo per creare un nuovo Process componente e associarlo a una risorsa di processo in un computer remoto sulla rete.Use this method to create a new Process component and associate it with a process resource on a remote computer on the network. La risorsa di processo deve esistere già nel computer specificato, in quanto GetProcessById(Int32, String) non crea una risorsa di sistema, ma piuttosto generati dall'applicazione associa una risorsa Process componente.The process resource must already exist on the specified computer, because GetProcessById(Int32, String) does not create a system resource, but rather associates a resource with an application-generated Process component. Un processo Id può essere recuperato solo per un processo attualmente in esecuzione nel computer.A process Id can be retrieved only for a process that is currently running on the computer. Dopo che il processo viene terminato, GetProcessById(Int32, String) genera un'eccezione se viene passato un identificatore scaduto.After the process terminates, GetProcessById(Int32, String) throws an exception if you pass it an expired identifier.

Su un particolare computer, l'identificatore di un processo è univoco.On any particular computer, the identifier of a process is unique. GetProcessById(Int32, String) Restituisce al massimo un processo.GetProcessById(Int32, String) returns one process at most. Se si desidera ottenere tutti i processi in esecuzione di una determinata applicazione, usare GetProcessesByName(String).If you want to get all the processes running a particular application, use GetProcessesByName(String). Se nel computer che esegue l'applicazione specificata, sono presenti più processi GetProcessesByName(String) restituisce una matrice contenente tutti i processi associati.If multiple processes exist on the computer running the specified application, GetProcessesByName(String) returns an array containing all the associated processes. È possibile eseguire una query ognuno di questi processi, a sua volta per il relativo identificatore.You can query each of these processes in turn for its identifier. L'identificatore di processo può essere visualizzato nei Processes Pannello di Gestione attività Windows.The process identifier can be viewed in the Processes panel of the Windows Task Manager. Il PID colonna viene visualizzato l'identificatore di processo assegnato a un processo.The PID column displays the process identifier that is assigned to a process.

Se non si specifica un machineName, viene utilizzato il computer locale.If you do not specify a machineName, the local computer is used. In alternativa, è possibile specificare il computer locale tramite l'impostazione machineName sul valore "." o su una stringa vuota ("").Alternatively, you can specify the local computer by setting machineName to the value "." or to an empty string ("").

Il processId parametro è un Int32 (un intero 32 bit con segno), anche se l'API di Windows sottostante utilizza un DWORD (intero senza segno a 32 bit) per l'API simili.The processId parameter is an Int32 (a 32-bit signed integer), although the underlying Windows API uses a DWORD (an unsigned 32-bit integer) for similar APIs. Questo avviene per motivi cronologici.This is for historical reasons.

Sicurezza

LinkDemand
per un'attendibilità totale per il chiamante immediato.for full trust for the immediate caller. Impossibile utilizzare questo membro in codice parzialmente attendibile.This member cannot be used by partially trusted code.

Vedi anche

Si applica a