CSharpTest.Net
ProcessExited Event
See Also  Example Send Feedback Download Help File
CSharpTest.Net.Library Assembly > CSharpTest.Net.Processes Namespace > ScriptRunner Class : ProcessExited Event

Glossary Item Box

Notifies caller when the process exits

Syntax

Visual Basic (Declaration) 
Public Event ProcessExited As ProcessExitedEventHandler
C# 
public event ProcessExitedEventHandler ProcessExited

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.

PropertyDescription
ExitCode Returns the environment exit code of the process

Example

Library/Library.Test/TestScriptRunner.cs

C#Copy Code
using (ScriptRunner runner = new ScriptRunner(ScriptEngine.Language.CSharp, "class Program { static void Main() { System.Threading.Thread.Sleep(System.TimeSpan.FromHours(1)); } }"))
{
    ManualResetEvent mre = new ManualResetEvent(false);
    runner.ProcessExited += delegate(object o, ProcessExitedEventArgs e) { mre.Set(); };

    runner.Start();
    Assert.IsTrue(runner.IsRunning);

    Assert.IsFalse(runner.WaitForExit(TimeSpan.Zero));
    runner.Kill();
    
    Assert.IsTrue(mre.WaitOne(0, false));
    Assert.IsFalse(runner.IsRunning);
    Assert.IsTrue(runner.WaitForExit(TimeSpan.Zero));
    Assert.AreNotEqual(0, runner.ExitCode);
}
VB.NETCopy Code
Using runner As New ScriptRunner(ScriptEngine.Language.CSharp, "class Program { static void Main() { System.Threading.Thread.Sleep(System.TimeSpan.FromHours(1)); } }")
    Dim mre As New ManualResetEvent(False)
    runner.ProcessExited += Function(o As Object, e As ProcessExitedEventArgs) Do
        mre.[Set]()
    End Function

    runner.Start()
    Assert.IsTrue(runner.IsRunning)

    Assert.IsFalse(runner.WaitForExit(TimeSpan.Zero))
    runner.Kill()

    Assert.IsTrue(mre.WaitOne(0, False))
    Assert.IsFalse(runner.IsRunning)
    Assert.IsTrue(runner.WaitForExit(TimeSpan.Zero))
    Assert.AreNotEqual(0, runner.ExitCode)
End Using

Requirements

Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7

See Also

Generated with Document! X 2011 by Innovasys