Process.OnExited Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Eleva o Exited evento.
protected:
void OnExited();
protected void OnExited();
member this.OnExited : unit -> unit
Protected Sub OnExited ()
Exemplos
O exemplo seguinte mostra como usar o OnExited método numa classe derivada.
using System;
using System.Diagnostics;
class MyProcess : Process
{
public void Stop()
{
this.CloseMainWindow();
this.Close();
OnExited();
}
}
class StartNotePad
{
public static void Main(string[] args)
{
MyProcess p = new MyProcess();
p.StartInfo.FileName = "notepad.exe";
p.EnableRaisingEvents = true;
p.Exited += new EventHandler(myProcess_HasExited);
p.Start();
p.WaitForInputIdle();
p.Stop();
}
private static void myProcess_HasExited(object sender, System.EventArgs e)
{
Console.WriteLine("Process has exited.");
}
}
open System
open System.Diagnostics
type MyProcess() =
inherit Process()
member this.Stop() =
this.CloseMainWindow() |> ignore
this.Close()
this.OnExited()
let myProcess_HasExited (sender: obj) (e: EventArgs) = printfn "Process has exited."
let p = new MyProcess()
p.StartInfo.FileName <- "notepad.exe"
p.EnableRaisingEvents <- true
p.Exited.AddHandler(EventHandler myProcess_HasExited)
p.Start() |> ignore
p.WaitForInputIdle() |> ignore
p.Stop()
Imports System.Diagnostics
Class MyProcess
Inherits Process
Public Sub [Stop]()
Me.CloseMainWindow()
Me.Close()
OnExited()
End Sub
End Class
Class StartNotePad
Public Shared Sub Main(ByVal args() As String)
Dim p As New MyProcess()
p.StartInfo.FileName = "notepad.exe"
p.EnableRaisingEvents = True
AddHandler p.Exited, AddressOf myProcess_HasExited
p.Start()
p.WaitForInputIdle()
p.Stop()
End Sub
Private Shared Sub myProcess_HasExited(ByVal sender As Object, ByVal e As System.EventArgs)
Console.WriteLine("Process has exited.")
End Sub
End Class
Observações
OnExited é o método API que eleva o Exited evento. Chamar OnExited faz com que o Exited evento ocorra e é a única forma de o gerar usando o Process componente. OnExited é usado principalmente ao derivar classes a partir do componente.
Em vez de OnExited, pode escrever o seu próprio gestor de eventos. Cria o seu próprio gestor de eventos, delegado e o seu próprio método de gestão de eventos.
Note
Se estiver a usar o ambiente Visual Studio, um delegado handler de eventos (AddOnExited) e um método de gestão de eventos (Process1_Exited) são criados para si quando arrasta um componente Process para um formulário e faz duplo clique no ícone. O código que cria para correr quando o Exited evento ocorre é introduzido no procedimento Process1_Exited. Não precisa de criar o OnExited membro, porque ele é implementado para si.
Levantar um evento invoca o gestor de eventos através de um delegado. Para uma visão geral, veja Gestão e Levantamento de Eventos.