All it is doing is creating a Dummy file with an HTML extension. It can be a zero length file.
The file name is then fed into the FindExecutalble API along with a dummy variable and fixed length string to receive the path name of the browser.
The string is then trimmed to remove extra spaces at the end then then fed into ShellExecute which is similar to CreateProcess but not so flexible.
The ShellExecute API contains the handle of the currently running task, the "open" command, the path name to the browser in the variable BrowserExec, the URL to be opened, another dummy variable, and the a constant to define the way the windows is shown.
With both APIs is the value returned < 32 then an error occurred.
Finally the dummy file created earlier is killed off.
The only code there that is unique to VB is the bit that creates the dummy HTML file and the Trim command which trims spaces of the end of a string. MsgBox just displays a message in the screen with an OK button. I am sure you can work something out in C# to do the same.
Look here for a description of the APIs
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/findexecutable.asp
It says it applies to Wint NT and Windows 95 but it works fine under Winows XP and Windows 98.
Stuart