Compartilhar via


Como: Interromper processos

Há dois métodos que você pode usar para interromper um processo com um Process componente. O método usado depende do tipo de processo que está sendo interrompido:

  • Se o processo tiver uma interface gráfica do usuário, telefonar o CloseMainWindow método. Esse método envia uma solicitação de fechamento para a janela principal do processo de e se comporta da mesma maneira sistema autônomo selecionando o comando Fechar da interface do usuário.Usando esse método dá o programa de destino uma chance de solicitar ao usuário que salvar os dados durante a operação de limpeza.

  • Se o processo não tem uma interface de usuário, telefonar o Kill método.

    Cuidado:

    Chamando o Kill método interromperá o processo imediatamente sem avisar para salvar os dados alterados. Os dados não salvos serão perdidos.

Se você desejar que o componente para ser notificado quando o sistema operacional encerrou um processo, você deve conjunto o EnableRaisingEvents propriedade para true. The EnableRaisingEvents propriedade é usada no processamento assíncrono para notificar seu aplicativo que um processo foi encerrado.

Para interromper um processo

  1. telefonar the GetProcessesByName método para recuperar o processo que você deseja interromper.

    Para obter mais informações, consulte Como: BIND a processos existentes.

  2. telefonar um dos seguintes métodos:

    • Se o processo tiver uma interface de usuário, telefonar o CloseMainWindow método.

    • Se o processo for sem janelas, telefonar o Kill método.

    O exemplo a seguir mostra como chamar o CloseMainWindow método para fechar todas as instâncias do bloco de notas atualmente em execução em um computador local:

    Dim myProcesses() As Process
    Dim myProcess As Process
    ' Returns array containing all instances of "Notepad".
    myProcesses = Process.GetProcessesByName("Notepad")
    For Each myProcess In myProcesses
        myProcess.CloseMainWindow()
    Next
    
         Process[] myProcesses;
            // Returns array containing all instances of Notepad.
            myProcesses = Process.GetProcessesByName("Notepad");
            foreach (Process myProcess in myProcesses)
            {
                myProcess.CloseMainWindow();
            }
    

Consulte também

Tarefas

Como: BIND a processos existentes

Conceitos

Introdução ao monitoramento e Managing Windows Processes

Outros recursos

Gerenciando processos