I used this to display the locally generated html in the default browser, in my case the file name is something like "c: \ temp \ page.html", maybe replacing the file name with a URL might work?
ShellExecute(NULL,"open",filename,NULL,NULL,SW_SHOWNORMAL);
Updated: http://support.microsoft.com/kb/224816
How ShellExecute determines whether to start a new instance When ShellExecute scans the registry, it looks for the \ open shell section. If the shell key \ open \ ddeexec is defined, then the Dynamic Data Exchange (DDE) message with the specified IExplore application and WWW_OpenURL theme is sent to all top-level windows on the desktop. The first application to reply to this message is an application that is sent to the requested URL. If the application does not respond to this DDE message, then ShellExecute uses the information contained in the \ open \ shell section to start the application. It then retransmits the DDE message to go to the requested URL.
So it looks like you have no control over opening a new window. No matter which browser is currently running, it can open it in any way.
source share