Notifies caller when the process exits
Syntax
Event Data
The event handler receives an argument of type ProcessExitedEventArgs containing data related to this event. The following ProcessExitedEventArgs properties provide information specific to this event.
Property | Description |
---|
ExitCode | Returns the environment exit code of the process |
Example
Library/Library.Test/TestAssemblyRunner.cs
C# | Copy Code |
---|
Environment.CurrentDirectory = Path.GetDirectoryName(FileUtils.FindFullPath("cmd.exe"));
using (AssemblyRunner runner = new AssemblyRunner(Exe))
{
ManualResetEvent gotExit = new ManualResetEvent(false);
runner.ProcessExited += delegate(Object o, ProcessExitedEventArgs e) { gotExit.Set(); };
Assert.IsFalse(runner.IsRunning);
runner.Kill(); // always safe to call
runner.Start("-wait");
Assert.IsTrue(runner.IsRunning);
try //make sure we can't start twice.
{
runner.Start();
Assert.Fail();
}
catch (InvalidOperationException)
{ }
Assert.IsFalse(runner.WaitForExit(TimeSpan.FromSeconds(1), false));
runner.Kill();
Assert.IsFalse(runner.IsRunning);
Assert.IsTrue(gotExit.WaitOne(30000, false));
} |
VB.NET | Copy Code |
---|
Environment.CurrentDirectory = Path.GetDirectoryName(FileUtils.FindFullPath("cmd.exe"))
Using runner As New AssemblyRunner(Exe)
Dim gotExit As New ManualResetEvent(False)
runner.ProcessExited += Function(o As [Object], e As ProcessExitedEventArgs) Do
gotExit.[Set]()
End Function
Assert.IsFalse(runner.IsRunning)
runner.Kill()
' always safe to call
runner.Start("-wait")
Assert.IsTrue(runner.IsRunning)
Try
'make sure we can't start twice.
runner.Start()
Assert.Fail()
Catch generatedExceptionName As InvalidOperationException
End Try
Assert.IsFalse(runner.WaitForExit(TimeSpan.FromSeconds(1), False))
runner.Kill()
Assert.IsFalse(runner.IsRunning)
Assert.IsTrue(gotExit.WaitOne(30000, False))
End Using |
Requirements
Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7
See Also