ShellExecute() is for starting a new process, as you've found out. I posted here a long time ago, maybe a year and a half or so, an axample of using the "Shell.Explorer" ActiveX Control, which is essentially Internet Explorer. Its likely beyond you, but you can study it if you want to persue it. I'll see if I can find the link to it ....
All the code is there to do exactly what you want, but when you see it its my guess you'll rapidly change your mind. The code is quite a few replies in on another COM related post.