none
Registry key for default browser

    Question

  • Hi,

    I have an application that checks for the default browser in the registry key
    [HKEY_CLASSES_ROOT\http\shell\open\command]. I've seen on one computer where this key where gone and this caused my app to fail. Is there anyone that have had a similar problem and found the cause of this key disapearing?

    Thanks, Michael.

    Thursday, December 20, 2012 12:45 PM

Answers

  • Hi Mickegus,

    If HKEY_CLASSES_ROOT\http\shell\open\command key is missing, then try to check the following keys.

    HKEY_CLASSES_ROOT\.htm

    HKEY_CLASSES_ROOT\.html

    HKEY_CLASSES_ROOT\http\shell\open\command

    HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application

    HKEY_CLASSES_ROOT\ftp\shell\open\command

    HKEY_CLASSES_ROOT\ftp\shell\open\ddeexec\Application

    HKEY_CLASSES_ROOT\gopher\shell\open\command

    HKEY_CLASSES_ROOT\gopher\shell\open\ddeexec\Application

    These keys make itself the default browser. For more details, see http://support.microsoft.com/kb/224816

    If all these keys are missing(ex the user delete them manually), then this is an issue of the OS rather than your application.

    Best Regards,


    Bob Wu
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • Marked as answer by Bob Wu-MT Friday, January 4, 2013 8:51 AM
    Tuesday, December 25, 2012 10:57 AM

All replies

  • Why would you need the key?  To open a url, it is not necessary.  Are you trying to find it so it can be changed by your app?

    --
    Mike
    Thursday, December 20, 2012 10:24 PM
  • We use this to open url's. This is written in an api dll that is used by a lot of modules (a couple of hundreds) so we can't change it. How do you open url's?

    Michael.

    Friday, December 21, 2012 9:47 AM
  • I use the process class as shown below:
     
       Process p = new Process();
       p.StartInfo.Verb = "open";
       p.StartInfo.FileName = "
    http://www.microsoft.com";
       p.Start();

    --
    Mike
    Friday, December 21, 2012 10:53 AM
  • Thanks,

    I'll save this for the future. As I said I can't change the code I have today since there are so many other modules depending on it and we can't recompile them all.

    You haven't seen anything regarding the disapearing [HKEY_CLASSES_ROOT\http\shell\open\command] key?

    Thanks, Michael.

    Friday, December 21, 2012 12:16 PM
  • Sorry, no, I do not know anything regarding that key, and why it might be missing.

    --
    Mike
    Friday, December 21, 2012 12:36 PM
  • Hi,

    I have never actually had this problem - needing a key to open a URL isn't actually needed as Mike stated.

    Best of Luck,

    With Kind Regards,


    Sunday, December 23, 2012 9:16 AM
  • Hi Mickegus,

    If HKEY_CLASSES_ROOT\http\shell\open\command key is missing, then try to check the following keys.

    HKEY_CLASSES_ROOT\.htm

    HKEY_CLASSES_ROOT\.html

    HKEY_CLASSES_ROOT\http\shell\open\command

    HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application

    HKEY_CLASSES_ROOT\ftp\shell\open\command

    HKEY_CLASSES_ROOT\ftp\shell\open\ddeexec\Application

    HKEY_CLASSES_ROOT\gopher\shell\open\command

    HKEY_CLASSES_ROOT\gopher\shell\open\ddeexec\Application

    These keys make itself the default browser. For more details, see http://support.microsoft.com/kb/224816

    If all these keys are missing(ex the user delete them manually), then this is an issue of the OS rather than your application.

    Best Regards,


    Bob Wu
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • Marked as answer by Bob Wu-MT Friday, January 4, 2013 8:51 AM
    Tuesday, December 25, 2012 10:57 AM
  • i won't believe that the operating system or any application will check for so many registry keys to know what's the default browser, nor i can believe they will check each single web browser to know whether it's the default one or not.
    it has to be "one" answer, and checking all those values is not the one.
    looking at the value stored in [HKEY_CLASSES_ROOT\http\shell\open\command] i read the path to my google chrome browser.
    the registry value stored in [HKEY_CLASSES_ROOT\http\shell\open\ddeexec\Application] gives me "IExplore".
    these two values are always the same, no matter whether the default web browser is set to google chrome or internet explorer.
    the keys [HKEY_CLASSES_ROOT\.htm] and [HKEY_CLASSES_ROOT\.html] will only take me to know the default application to open .htm or .html, nothing to do with a web browsing application.
    the question did not really get any answer.

    P.S. people should not waste other people's time asking them why they want to do whatever they want to do nor telling them how to do something that they don't really want to do.

    Friday, February 15, 2013 9:12 PM
  • I am experiencing similar issues.  The registry key in the .html folder remains ChromeHTML even after setting the default browser to Internet Explorer.  I should note that I used the "Start/default programs/set your default programs" to set the default browser.  I also went into the associate a file type or protocol.. section.  I too find it difficult to believe that all of these keys are checked each time an application opens.  Oh, I am on Windows 7.  

    What registry key does the "..set default programs" affect because is certainly is not the .htm, .html, http/shell/open/command or the https/shell/open/command?

    Monday, March 17, 2014 4:36 PM
  • Try NTUSER.DAT\Software\Clients\StartMenuInternet\Default. It states the default browser for this user.

    The same key/value is in SOFTWARE\Clients\StartMenuInternet\Default. I suppose it is a default value for new users, but I'm not really sure.

    Friday, June 13, 2014 11:23 AM
  • [Continued]

    SOFTWARE\Clients\StartMenuInternet\ contains a value for every browser on the system (say IEXPLORE.EXE and for instance Google Chrome). Each one has the keys \shell\open\command\default with the path to the browser/executable.

    Hope this helps.

    Friday, June 13, 2014 11:36 AM
  • In order to make a browser the default browser when it does not appear in the choices in the default programs in Windows 10 settings,
    there is a solution. In the Settings, in the Application window setting, clic Default Application on the left, and in the list on the right, find and clic: Default value per application. In the list, look for your actual browser which is the default one, clic it and change all the values by the browser you want to make the default (this time it appears in this list). From there on, this browser will also appear in the list of browsers to choose a default, where it was absent. NB : I translate from french windows version, so the titles I use may not be exactly the good translation.

    Friday, March 2, 2018 2:50 PM