Create wait cursor when launching external app
<p>This is a neubi question...  I've searched the internet, but evidently I'm not forming the question well.</p>

<p>My winform program launches an external application, let's call it "watchit.exe".
It takes watchit 5-15 seconds from the time it's process starts until it is visible for the user (finally appearing as a task in the task manager).  I don't want the user to get frustrated during this time and keep clicking the button that launches watchit, so I need a wait cursor, or some other indication. </p>

<ol>
<li><p>There are several custom controls on this form, is there a way to override their individual cursors with a wait cursor ?  Maybe putting text in the form status strip would be better than a wait cursor ?</p></li>
<li><p>How do I know in my program when Watchit is up and running so I can set the cursor back to default, or change the text in the form status strip ?  I don't want to use a timer to keep checking if Watchit is up and running yet... Not even sure what to check ! </p></li>
</ol>

<p>I've attempted to use WMI, but it seems to look at processes (or maybe I'm not fully grasping WMI ).</p>

<p>Here is how the process is launched.</p>

<pre><code>Process watchIt = new Process();

string path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
path = Path.Combine(path, "Watchit.exe");
watchIt.StartInfo = new ProcessStartInfo(path, e.ID.ToString());

if (File.Exists(path))
{
    watchIt.Start();  //Starts Watchit, but how do you know when it's 'up' ?
    Cursor.Current = Cursors.WaitCursor;
}
</code></pre>

<p>TIA</p>
