Process.Start(url) in a loop not launching every instance
<p>I have a need to launch multiple browser instances / tabs in succession but using Process.Start(url) I am finding that not every URL is launched. </p>

<pre><code>    for (int i = 0; i &lt; n; i++)
    {
        var p = Process.Start("http://localhost/#" + i.ToString());
    }
</code></pre>

<p>For any value n > 1 I find that only the last URL is opened in the browser (I'm testing with IE as the default browser). If I add a Thread.Sleep(1000) after Process.Start then I see a variety of behavior: sometimes all n are created; sometimes a subset.</p>

<p>The following does work as expected, but assumes IE (would rather use the default browser) and launches n browser instances rather than n tabs:</p>

<pre><code>    for (int i = 0; i &lt; n; i++)
    {
        var p = Process.Start("iexplore.exe", "http://localhost/#" + i.ToString());
    }
</code></pre>

<p>I would prefer to get it working with the default browser behavior, but need it to be deterministic. </p>
