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

Definição

Cria um novo componente Process e associa-o ao recurso de processo existente que você especificar.Creates a new Process component, and associates it with the existing process resource that you specify.

Sobrecargas

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

Retorna um novo componente Process, tendo em conta o identificador de um processo no computador local.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)

Retorna um novo componente Process, dado um identificador de processo e o nome de um computador na rede.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)

Retorna um novo componente Process, tendo em conta o identificador de um processo no computador local.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

Parâmetros

processId
Int32 Int32 Int32 Int32

O identificador exclusivo do sistema de um recurso de processo.The system-unique identifier of a process resource.

Retornos

Um componente Process associado ao recurso de processo local identificado pelo parâmetro processId.A Process component that is associated with the local process resource identified by the processId parameter.

Exceções

O processo especificado pelo parâmetro processId não está em execução.The process specified by the processId parameter is not running. O identificador pode ter expirado.The identifier might be expired.

O processo não foi iniciado por esse objeto.The process was not started by this object.

Exemplos

O exemplo a seguir recupera informações do processo atual, processos em execução no computador local, todas as instâncias do bloco de notas em execução no computador local e um processo específico no computador local.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. Ele então recupera informações para os mesmos processos em um computador 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

Comentários

Use esse método para criar um novo Process componente e associá-lo a um recurso de processo no computador local.Use this method to create a new Process component and associate it with a process resource on the local computer. O recurso de processo já deve existir no computador, porque GetProcessById(Int32) não cria um recurso do sistema, mas em vez disso, associa um recurso a um aplicativo gerado 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. Um processo Id podem ser recuperados apenas para um processo que está sendo executado no computador.A process Id can be retrieved only for a process that is currently running on the computer. Depois que o processo termina, GetProcessById(Int32) lança uma exceção se você passar um identificador expirado.After the process terminates, GetProcessById(Int32) throws an exception if you pass it an expired identifier.

Em qualquer computador em particular, o identificador de um processo é exclusivo.On any particular computer, the identifier of a process is unique. GetProcessById(Int32) Retorna um processo no máximo.GetProcessById(Int32) returns one process at most. Se você quiser obter todos os processos em execução um aplicativo específico, use GetProcessesByName(String).If you want to get all the processes running a particular application, use GetProcessesByName(String). Se vários processos existirem no computador que executa o aplicativo especificado, GetProcessesByName(String) retorna uma matriz que contém todos os processos associados.If multiple processes exist on the computer running the specified application, GetProcessesByName(String) returns an array containing all the associated processes. Você pode consultar cada um desses processos por sua vez para seu identificador.You can query each of these processes in turn for its identifier. O identificador de processo pode ser exibido no Processes painel do Gerenciador de tarefas do Windows.The process identifier can be viewed in the Processes panel of the Windows Task Manager. O PID coluna exibe o identificador do processo que é atribuído a um processo.The PID column displays the process identifier that is assigned to a process.

O processId parâmetro é um Int32 (um inteiro 32 bits com sinal), embora a API básica do Windows usa um DWORD (um inteiro de 32 bits sem sinal) para APIs semelhantes.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. Isso é por razões históricas.This is for historical reasons.

Segurança

LinkDemand
para confiança total do chamador imediato.for full trust for the immediate caller. Este membro não pode ser usado pelo código parcialmente confiável.This member cannot be used by partially trusted code.

Veja também

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

Retorna um novo componente Process, dado um identificador de processo e o nome de um computador na rede.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

Parâmetros

processId
Int32 Int32 Int32 Int32

O identificador exclusivo do sistema de um recurso de processo.The system-unique identifier of a process resource.

machineName
String String String String

O nome de um computador na rede.The name of a computer on the network.

Retornos

Um componente Process associado ao recurso de processo remoto identificado pelo parâmetro processId.A Process component that is associated with a remote process resource identified by the processId parameter.

Exceções

O processo especificado pelo parâmetro processId não está em execução.The process specified by the processId parameter is not running. O identificador pode ter expirado.The identifier might be expired.

- ou --or- A sintaxe do parâmetro machineName é inválida.The machineName parameter syntax is invalid. O nome pode ter tamanho zero (0).The name might have length zero (0).

O parâmetro machineName é null.The machineName parameter is null.

O processo não foi iniciado por esse objeto.The process was not started by this object.

Exemplos

O exemplo a seguir recupera informações do processo atual, processos em execução no computador local, todas as instâncias do bloco de notas em execução no computador local e um processo específico no computador local.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. Ele então recupera informações para os mesmos processos em um computador 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

Comentários

Use esse método para criar um novo Process componente e associá-lo a um recurso de processo em um computador remoto na rede.Use this method to create a new Process component and associate it with a process resource on a remote computer on the network. O recurso de processo já deve existir no computador especificado, porque GetProcessById(Int32, String) não cria um recurso do sistema, mas em vez disso, associa um recurso a um aplicativo gerado 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. Um processo Id podem ser recuperados apenas para um processo que está sendo executado no computador.A process Id can be retrieved only for a process that is currently running on the computer. Depois que o processo termina, GetProcessById(Int32, String) lança uma exceção se você passar um identificador expirado.After the process terminates, GetProcessById(Int32, String) throws an exception if you pass it an expired identifier.

Em qualquer computador em particular, o identificador de um processo é exclusivo.On any particular computer, the identifier of a process is unique. GetProcessById(Int32, String) Retorna um processo no máximo.GetProcessById(Int32, String) returns one process at most. Se você quiser obter todos os processos em execução um aplicativo específico, use GetProcessesByName(String).If you want to get all the processes running a particular application, use GetProcessesByName(String). Se vários processos existirem no computador que executa o aplicativo especificado, GetProcessesByName(String) retorna uma matriz que contém todos os processos associados.If multiple processes exist on the computer running the specified application, GetProcessesByName(String) returns an array containing all the associated processes. Você pode consultar cada um desses processos por sua vez para seu identificador.You can query each of these processes in turn for its identifier. O identificador de processo pode ser exibido no Processes painel do Gerenciador de tarefas do Windows.The process identifier can be viewed in the Processes panel of the Windows Task Manager. O PID coluna exibe o identificador do processo que é atribuído a um processo.The PID column displays the process identifier that is assigned to a process.

Se você não especificar um machineName, será usado o computador local.If you do not specify a machineName, the local computer is used. Como alternativa, você pode especificar o computador local, definindo machineName para o valor "." ou uma cadeia de caracteres vazia ("").Alternatively, you can specify the local computer by setting machineName to the value "." or to an empty string ("").

O processId parâmetro é um Int32 (um inteiro 32 bits com sinal), embora a API básica do Windows usa um DWORD (um inteiro de 32 bits sem sinal) para APIs semelhantes.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. Isso é por razões históricas.This is for historical reasons.

Segurança

LinkDemand
para confiança total do chamador imediato.for full trust for the immediate caller. Este membro não pode ser usado pelo código parcialmente confiável.This member cannot be used by partially trusted code.

Veja também

Aplica-se a