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
1 de 1 pessoas classificaram isso como útil - Avalie este tópico

Classe Process

Fornece acesso ao local e remoto o processar-lo e habilitar-l para iniciar e interromper processos do sistema local.

Namespace:  System.Diagnostics
Assembly:  System (em System.dll)
[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true, Synchronization = true, 
	ExternalProcessMgmt = true, SelfAffectingProcessMgmt = true)]
[PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust")]
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public class Process : Component

O tipo Process expõe os membros a seguir.

  NomeDescrição
Método públicoProcessInicializa uma nova instância da classe Process.
Superior
  NomeDescrição
Propriedade públicaBasePriorityObtém a prioridade de base de processo associado.
Propriedade protegidaCanRaiseEventsObtém um valor indicando se o componente pode disparar um evento. (Herdado de Component.)
Propriedade públicaContainerObtém o IContainer que contém o Component. (Herdado de Component.)
Propriedade protegidaDesignMode Obtém um valor que indica se o Component está em modo de design. (Herdado de Component.)
Propriedade públicaEnableRaisingEventsObtém ou define se o evento de Exited deve ser gerado quando o processo termina.
Propriedade protegidaEvents Obtém a lista de manipuladores de eventos que estão conectados a este Component. (Herdado de Component.)
Propriedade públicaExitCodeObtém o valor que o processo especificado foi finalizado quando associado.
Propriedade públicaExitTimeObtém o tempo que o processo associado esquerda.
Propriedade públicaHandleObtém a alça nativo do processo associado.
Propriedade públicaHandleCountObtém o número de identificadores aberto pelo processo.
Propriedade públicaHasExitedObtém um valor indicando se o processo associado foi encerrado.
Propriedade públicaIdObtém o identificador exclusivo para o processo associado.
Propriedade públicaMachineNameObtém o nome do computador que o processo associado é executado.
Propriedade públicaMainModuleObtém o módulo principal para o processo associado.
Propriedade públicaMainWindowHandleObtém o identificador de janela da janela principal do processo associado.
Propriedade públicaMainWindowTitleObtém a legenda da janela principal do processo.
Propriedade públicaMaxWorkingSetObtém ou define o - tamanho máximo permitido do conjunto de trabalho para o processo associado.
Propriedade públicaMinWorkingSetObtém ou define o tamanho permitido mínimo do conjunto de trabalho para o processo associado.
Propriedade públicaModulesObtém os módulos que foram carregados pelo processo associado.
Propriedade públicaNonpagedSystemMemorySize Obsoleta. Obtém o tamanho de memória do sistema nonpaged atribuído a esse processo.
Propriedade públicaNonpagedSystemMemorySize64Obtém a quantidade de memória do sistema nonpaged atribuída para o processo associado.
Propriedade públicaPagedMemorySize Obsoleta. Obtém o tamanho de memória paginado.
Propriedade públicaPagedMemorySize64Obtém a quantidade de memória em página atribuída para o processo associado.
Propriedade públicaPagedSystemMemorySize Obsoleta. Obtém o tamanho de memória do sistema paginado.
Propriedade públicaPagedSystemMemorySize64Obtém a quantidade de memória do sistema pageable atribuída para o processo associado.
Propriedade públicaPeakPagedMemorySize Obsoleta. Obtém o tamanho de memória paginado pico.
Propriedade públicaPeakPagedMemorySize64Obtém a quantidade de memória máximo no arquivo da página de memória virtual usado pelo processo associado.
Propriedade públicaPeakVirtualMemorySize Obsoleta. Obtém o tamanho máximo de memória virtual.
Propriedade públicaPeakVirtualMemorySize64Obtém a quantidade máxima de memória virtual usada pelo processo associado.
Propriedade públicaPeakWorkingSet Obsoleta. Obtém o tamanho máximo do conjunto de trabalho para o processo associado.
Propriedade públicaPeakWorkingSet64Obtém a quantidade máxima de memória física usada pelo processo associado.
Propriedade públicaPriorityBoostEnabledObtém ou define um valor indicando se a prioridade associado do processo deve ser impulsionada temporariamente pelo sistema operacional quando a janela principal tem o foco.
Propriedade públicaPriorityClassObtém ou define a categoria geral de prioridade para o processo associado.
Propriedade públicaPrivateMemorySize Obsoleta. Obtém o tamanho de memória particular.
Propriedade públicaPrivateMemorySize64Obtém a quantidade de memória particular atribuído para o processo associado.
Propriedade públicaPrivilegedProcessorTimeObtém o tempo do processador privilegiados para esse processo.
Propriedade públicaProcessNameObtém o nome do processo.
Propriedade públicaProcessorAffinityObtém ou define os processadores em que os segmentos em esse processo podem ser agendados para executar.
Propriedade públicaRespondingObtém um valor indicando se a interface do usuário do processo é responder.
Propriedade públicaSessionIdObtém o identificador de sessão serviços de terminal para o processo associado.
Propriedade públicaSiteObtém ou define o ISite da Component. (Herdado de Component.)
Propriedade públicaStandardErrorObtém um fluxo usado para gravar a saída de erro do aplicativo.
Propriedade públicaStandardInputObtém um fluxo usado para gravar a entrada do aplicativo.
Propriedade públicaStandardOutputObtém um fluxo usado para gravar a saída do aplicativo.
Propriedade públicaStartInfoObtém ou define propriedades para passar para o método de Start de Process.
Propriedade públicaStartTimeObtém o tempo que o processo associado foi iniciado.
Propriedade públicaSynchronizingObjectObtém ou define o objeto usado para empacotar chamadas de manipulador de eventos que são emitidas como resultado de um evento de saída do processo.
Propriedade públicaThreadsObtém o conjunto de segmentos que estão executando no processo associado.
Propriedade públicaTotalProcessorTimeObtém o tempo do processador total para esse processo.
Propriedade públicaUserProcessorTimeObtém o tempo do processador do usuário para esse processo.
Propriedade públicaVirtualMemorySize Obsoleta. Obtém o tamanho de memória virtual do processo.
Propriedade públicaVirtualMemorySize64Obtém a quantidade de memória virtual atribuída para o processo associado.
Propriedade públicaWorkingSet Obsoleta. Obtém o associado uso de memória física do processo.
Propriedade públicaWorkingSet64Obtém a quantidade de memória física atribuída para o processo associado.
Superior
  NomeDescrição
Método públicoBeginErrorReadLineOperações de leitura começa assíncronos no fluxo redirecionado de StandardError do aplicativo.
Método públicoBeginOutputReadLineOperações de leitura começa assíncronos no fluxo redirecionado de StandardOutput do aplicativo.
Método públicoCancelErrorReadCancelar a operação de leitura assíncrono no fluxo redirecionado de StandardError de um aplicativo.
Método públicoCancelOutputReadCancelar a operação de leitura assíncrono no fluxo redirecionado de StandardOutput de um aplicativo.
Método públicoCloseLibera quaisquer recursos que estão associados com esse componente.
Método públicoCloseMainWindowFecha um processo que tenha uma interface do usuário enviar uma mensagem próximo à sua janela principal.
Método públicoCreateObjRefCria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject.)
Método públicoDispose() Libera todos os recursos usados pelo Component. (Herdado de Component.)
Método protegidoDispose(Boolean)Infraestrutura. Liberar quaisquer recursos usados por esse processo. (Substitui Component.Dispose(Boolean).)
Método públicoMembro estáticoEnterDebugModeColoca um componente de Process no estado para interagir com os processos do sistema operacional que executam em um modo especial ativando a propriedade nativo SeDebugPrivilege no segmento atual.
Método públicoEquals(Object) Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegidoFinalizeLibera os recursos não gerenciados e executa outras operações de limpeza antes do Component é recuperados pela coleta de lixo. (Herdado de Component.)
Método públicoMembro estáticoGetCurrentProcessObtém um novo componente de Process e associá-la com o processo ativa no momento.
Método públicoGetHashCodeServe como uma função hash para um tipo específico. (Herdado de Object.)
Método públicoGetLifetimeServiceRecupera o objeto de serviço vida útil atual que controla a diretiva de vida útil para esta instância. (Herdado de MarshalByRefObject.)
Método públicoMembro estáticoGetProcessById(Int32)Retorna um novo componente de Process , dado o identificador de um processo no computador local.
Método públicoMembro estáticoGetProcessById(Int32, String)Retorna um novo componente de Process , dado um identificador do processo e o nome de um computador na rede.
Método públicoMembro estáticoGetProcesses()Cria um novo componente de Process para cada recurso do processo no computador local.
Método públicoMembro estáticoGetProcesses(String)Cria um novo componente de Process para cada recurso do processo no computador especificado.
Método públicoMembro estáticoGetProcessesByName(String)Cria uma matriz de novos componentes de Process e associá-los com os recursos do processo no computador local que compartilham o nome especificado do processo.
Método públicoMembro estáticoGetProcessesByName(String, String)Cria uma matriz de novos componentes de Process e associá-los com os recursos do processo em um computador remoto que compartilham o nome especificado do processo.
Método protegidoGetServiceRetorna um objeto que representa um serviço fornecido pela Component ou por seus Container. (Herdado de Component.)
Método públicoGetType Obtém o Type da instância atual. (Herdado de Object.)
Método públicoInitializeLifetimeServiceObtém um objeto de serviço de tempo de vida para controlar a diretiva vida útil para esta instância. (Herdado de MarshalByRefObject.)
Método públicoKillImediatamente para o processo associado.
Método públicoMembro estáticoLeaveDebugModeLeva um componente de Process fora do estado que permite que você interagir com os processos do sistema operacional que executam em um modo especial.
Método protegidoMemberwiseClone()Cria uma cópia superficial do Object atual. (Herdado de Object.)
Método protegidoMemberwiseClone(Boolean)Cria uma cópia superficial do atual MarshalByRefObject objeto. (Herdado de MarshalByRefObject.)
Método protegidoOnExitedGera o evento Exited.
Método públicoRefreshDescarta todas as informações sobre o processo associado que foi armazenado em cache no componente do processo.
Método públicoStart()Inicia (ou) reutilização o recurso do processo que é especificado pela propriedade de StartInfo de este componente de Process e a associa com o componente.
Método públicoMembro estáticoStart(ProcessStartInfo)Inicia o processo que é especificado pelo parâmetro contendo informações de inicio do processo (por exemplo, o nome de arquivo do processo para iniciar) e associa um novo componente Process ao recurso.
Método públicoMembro estáticoStart(String)Inicia um recurso do processo especificando o nome de um documento ou um arquivo de aplicativo e associa o recurso com um novo componente de Process .
Método públicoMembro estáticoStart(String, String)Inicia um recurso do processo especificando o nome de um aplicativo e um conjunto de argumentos de linha de comando, e associa o recurso com um novo componente de Process .
Método públicoMembro estáticoStart(String, String, SecureString, String)Inicia um recurso do processo especificando o nome de um aplicativo, um nome de usuário, uma senha, e um domínio e associa o recurso com um novo componente de Process .
Método públicoMembro estáticoStart(String, String, String, SecureString, String)Inicia um recurso do processo especificando o nome de um aplicativo, um conjunto de argumentos de linha de comando, um nome de usuário, uma senha, e um domínio e associa o recurso com um novo componente de Process .
Método públicoToStringFormata o nome do processo como uma cadeia de caracteres, combinada com o tipo de componente pai, se aplicável. (Substitui Component.ToString().)
Método públicoWaitForExit()Instrui o componente de Process para esperar indefinidamente pelo processo associado para sair do.
Método públicoWaitForExit(Int32)Instrui o componente de Process para esperar o número de milissegundos especificado pelo processo associado para sair do.
Método públicoWaitForInputIdle()Faz com que o componente de Process indefinidamente espere pelo processo associado para entrar em um estado ocioso. Essa sobrecarga se aplica somente a processos com uma interface do usuário e, portanto, um loop de mensagem.
Método públicoWaitForInputIdle(Int32)Faz com que o componente de Process espere o número de milissegundos especificado pelo processo associado para entrar em um estado ocioso. Essa sobrecarga se aplica somente a processos com uma interface do usuário e, portanto, um loop de mensagem.
Superior
  NomeDescrição
Evento públicoDisposedOcorre quando o componente é descartado por uma chamada do método Dispose. (Herdado de Component.)
Evento públicoErrorDataReceivedOcorre quando um aplicativo gravar no fluxo redirecionado de StandardError .
Evento públicoExitedocorre quando um processo sair.
Evento públicoOutputDataReceivedOcorre quando um aplicativo gravar no fluxo redirecionado de StandardOutput .
Superior
ObservaçãoObservação

Iniciando com o.NET Framework versão 2,0, a capacidade para fazer referência a dados do contador de desempenho em outros computadores foi eliminada para muitos dos métodos e propriedades do .NET Framework. Essa alteração foi feita para melhorar o desempenho e permitir que administradores para usar a classe de Process . Como resultado, alguns aplicativos que não obteram exceções em versões anteriores do.NET Framework agora podem obter NotSupportedException. Os métodos e propriedades são afetados muito numerosos listar aqui, mas informações de exceção foi adicionada para tópicos afetados de membro.

Um componente de Process fornece acesso a um processo que está executando em um computador. Um processo, em termos mais simples, é um aplicativo em execução. Um segmento é a unidade básica para que o sistema operacional aloca tempo do processador. Um segmento pode executar qualquer parte do código do processo, incluindo as partes atualmente sendo executadas por outro segmento.

O componente de Process é uma ferramenta útil para iniciar, parar, controlar, e monitorar aplicativos. Usando o componente de Process , você pode obter uma lista de processos que estão executando o, ou você pode iniciar um novo processo. Um componente de Process é usado para acessar processos do sistema. Depois que um componente de Process foi inicializado, pode ser usado para obter informações sobre o processo em execução. Tal informações incluem o conjunto de segmentos, os módulos carregados (.dll e arquivos .exe), e informações de desempenho como a quantidade de memória que o processo está usando.

ObservaçãoObservação

Os processos de 32 bits não pode acessar os módulos de um processo de 64 bits. Se você tentar obter informações sobre um processo de 64 bits de um processo de 32 bits, você receberá uma exceção de Win32Exception .

Se você tiver uma variável de caminho declarado em seu sistema usando aspas, você deve qualificar totalmente o caminho para iniciar qualquer processo localizado em aquele local. Caso contrário, o sistema não localiza o caminho. Por exemplo, se c:\mypath não está em seu caminho, e você adicioná-lo usando a aspas: path = %path%;"c:\mypath", você deve qualificar totalmente qualquer processo em c:\mypath para iniciá-lo.

O componente do processo obtém informações sobre um grupo de propriedades de uma vez. Depois que o componente de Process obter informações sobre um membro de qualquer grupo, irá armazenar em cache os valores para as outras propriedades no grupo e não obterá novas informações sobre outros membros do grupo até que você chame o método de Refresh . Portanto, um valor de propriedade não é garantida para ser mais recente que a última chamada para o método de Refresh . As divisões de grupo são dependentes do sistema operacional.

Um processo do sistema é identificado pelo sistema no seu identificador do processo. Como muitos recursos do windows, um processo também é identificado pelo manipulador, que não pode ser exclusivo no computador. Um identificador é o termo genérico para um identificador de um recurso. O sistema operacional persistir o identificador do processo, que é acessada através da propriedade de Handle o componente de Process , mesmo quando o processo para a esquerda. Assim, você pode obter informações administrativo de processo, como ExitCode (geralmente zero de sucesso ou um código de erro diferente de zero) e ExitTime. Identificadores são um recurso extremamente de escape, o que manipula é mais virulento da memória de escape.

ObservaçãoObservação

Essa classe contém uma demanda de link e um requisito de herança a nível de classe que se aplica a todos os membros. SecurityException é acionada quando o chamador imediato ou uma classe derivada de não têm a permissão de confiança total. Para obter detalhes sobre demandas de segurança, consulte Demandas de link e Demandas de herança.

ObservaçãoObservação

O atributo HostProtectionAttribute aplicado a este tipo ou membro tem o seguinte valor da propriedade Resources: SharedState | Synchronization | ExternalProcessMgmt | SelfAffectingProcessMgmt. HostProtectionAttribute não afeta aplicativos de área de trabalho (que são normalmente iniciados com o clique duplo em um ícone, a digitação de um comando ou a inserção de uma URL em um navegador). Para obter mais informações, consulte a classe HostProtectionAttribute ou Atributos de proteção de Host e programação de SQL Server.

O exemplo a seguir usa uma instância da classe de Process para iniciar um processo.


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

namespace MyProcessSample
{
    class MyProcess
    {
        public static void Main()
        {
            Process myProcess = new Process();

            try
            {
                myProcess.StartInfo.UseShellExecute = false;
                // You can start any process, HelloWorld is a do-nothing example.
                myProcess.StartInfo.FileName = "C:\\HelloWorld.exe";
                myProcess.StartInfo.CreateNoWindow = true;
                myProcess.Start();
                // This code assumes the process you are starting will terminate itself. 
                // Given that is is started without a window so you cannot terminate it 
                // on the desktop, it must terminate itself or you can do it programmatically
                // from this application using the Kill method.
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}


O exemplo a seguir usa a própria classe de Process e um método estático de Start para iniciar um processo.


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

namespace MyProcessSample
{
    class MyProcess
    {
        // Opens the Internet Explorer application.
        void OpenApplication(string myFavoritesPath)
        {
            // Start Internet Explorer. Defaults to the home page.
            Process.Start("IExplore.exe");

            // Display the contents of the favorites folder in the browser.
            Process.Start(myFavoritesPath);
        }

        // Opens urls and .html documents using Internet Explorer.
        void OpenWithArguments()
        {
            // url's are not considered documents. They can only be opened
            // by passing them as arguments.
            Process.Start("IExplore.exe", "www.northwindtraders.com");

            // Start a Web page using a browser associated with .html and .asp files.
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.htm");
            Process.Start("IExplore.exe", "C:\\myPath\\myFile.asp");
        }

        // Uses the ProcessStartInfo class to start new processes,
        // both in a minimized mode.
        void OpenWithStartInfo()
        {
            ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
            startInfo.WindowStyle = ProcessWindowStyle.Minimized;

            Process.Start(startInfo);

            startInfo.Arguments = "www.northwindtraders.com";

            Process.Start(startInfo);
        }

        static void Main()
        {
            // Get the path that stores favorite links.
            string myFavoritesPath =
                Environment.GetFolderPath(Environment.SpecialFolder.Favorites);

            MyProcess myProcess = new MyProcess();

            myProcess.OpenApplication(myFavoritesPath);
            myProcess.OpenWithArguments();
            myProcess.OpenWithStartInfo();
        }
    }
}


.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. Esta classe não pode ser usada pelo código parcialmente confiável.

  • InheritanceDemand 

    para confiança total para herdeiros. Esta classe não pode ser herdada 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.
Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.