Expandir Minimizar
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Propriedade Process.Id

Obtém o identificador exclusivo para o processo associado.

Namespace:  System.Diagnostics
Assembly:  System (em System.dll)
public int Id { get; }

Valor de propriedade

Tipo: System.Int32
O identificador exclusivo do sistema produzido do processo que é referenciado por essa instância de Process .
ExceçãoCondição
InvalidOperationException

A propriedade de Id de processo não foi definida.

-  ou  -

Não há nenhum processo associado com esse objeto de Process .

PlatformNotSupportedException

A plataforma é o Windows 98 ou Windows Millennium Edition (); Windows Me defina a propriedade de ProcessStartInfo.UseShellExecute a false para acessar essa propriedade no Windows 98 e Windows Me.

O processo Id não é válido se o processo associada não está sendo executado. Portanto, você deve garantir que o processo está executando antes de tentar recuperar a propriedade de Id . Até que o processo termina, o identificador do processo identifica unicamente o processo em todo o sistema.

Você pode conectar um processo que está executando em um local ou em um computador remoto para uma nova instância de Process passando o identificador do processo para o método de GetProcessById . GetProcessById é um método de static que cria um novo componente e defina a propriedade de Id para a nova instância de Process automaticamente.

Identificadores de processo podem ser reutilizados pelo sistema. O valor da propriedade de Id é exclusiva somente quando o processo associado executar. Após o processo finalizou, o sistema pode reutilizar o valor da propriedade de Id para um processo não relacionados.

Porque é o identificador exclusivo no sistema, você pode passá-los a outros segmentos como uma alternativa para passar uma instância de Process . Esta ação pode salvar recursos do sistema no entanto garantir que o processo é identificado corretamente.

Observação sobre a plataforma : Esta propriedade não está disponível em esta plataforma se você iniciou o processo com ProcessStartInfo.UseShellExecute definido como true.

O exemplo a seguir demonstra como obter Id para todas as instâncias em execução de um aplicativo. O código cria uma nova instância do Bloco De Notas, lista todas as instâncias do Bloco De Notas, e então permite que o usuário digite o número de Id para remover uma instância específica.


using System;
using System.Threading;
using System.Security.Permissions;
using System.Security.Principal;
using System.Diagnostics;

class ProcessDemo
{
    public static void Main()
    {
        Process notePad = Process.Start("notepad");
        Console.WriteLine("Started notepad process Id = " + notePad.Id);
        Console.WriteLine("All instances of notepad:");
        // Get Process objects for all running instances on notepad.
        Process[] localByName = Process.GetProcessesByName("notepad");
        int i = localByName.Length;
        while (i > 0)
        {
            // You can use the process Id to pass to other applications or to
            // reference that particular instance of the application.
            Console.WriteLine(localByName[i - 1].Id.ToString());
            i -= 1;
        }
        Process chosen;
        i = localByName.Length;
        while (i > 0)
        {
            Console.WriteLine("Enter a process Id to kill the process");
            string id = Console.ReadLine();
            if (id == "")
                break;
            try
            {
                chosen = Process.GetProcessById(Int32.Parse(id));
            }
            catch (Exception e)
            {
                Console.WriteLine("Incorrect entry.");
                continue;
            }
            if (chosen.ProcessName == "notepad")
            {
                chosen.Kill();
                chosen.WaitForExit();
            }
            i -= 1;
        }

    }
}


.NET Framework

Com suporte em: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1
  • LinkDemand 

    para confiança total para o chamador imediato. Este membro não pode ser usado pelo código parcialmente confiável.

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte .Requisitos de sistema do NET Framework.
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
A Microsoft está realizando uma pesquisa online para saber sua opinião sobre o site do MSDN. Se você optar por participar, a pesquisa online lhe será apresentada quando você sair do site do MSDN.

Deseja participar?
© 2013 Microsoft. Todos os direitos reservados.