I just stumbled across your post, figured I'd reply.

From
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
-------------------------------------------------
Registering for the Start Menu Internet Link

Being registered as the default Start menu Internet application is not the same as being registered as the default web browser. The default web browser is used for launching arbitrary URLs from anywhere in the system. The Start menu Internet application merely controls the program that is started when the user clicks the Internet icon on the Start menu.

Any web browser application can register to appear as an Internet client on the Start menu. This visibility, coupled with proper registration for an application's file and protocol types, gives an application default browser status.
------------------------------------------------

HKCU\Software\Clients\ doesn't exist in Win7 by default, because while IE is the default browser, there is no longer the "Start | Internet" option.

If you set Firefox as the default, FF creates the key (assuming it's a legacy function). If you change the default back to IE, then IE does change the StartMenuInternet\Default value (probably just to undo changes made by FF).

In either case, there's no HKCU\Software\Wow6432Node\Clients\ key on a Win7 x64 system. There is HKLM\Software\Wow6432Node\Clients by default, but that doesn't get changed when a user changes their default browser.

So the code won't work on Win7 x64. It will only detect FF as default on Win7 x32, and IE only if they've switched back from IE. And only if they set the default browser through the browser interface; if they set the default browser by changing the file association, then the MenuStartInternet is not going to change.

Cheers!