11
votes

Comment déterminer le navigateur par défaut Windows (en haut du menu Démarrer)

Comment puis-je déterminer le navigateur Windows par défaut (en haut du menu Démarrer)?

J'utilise VB6 mais je peux probablement adapter autre code sans problème.

Il existe des questions similaires sur le débordement de la pile, mais ils semblent fournir des réponses incorrectes.

Par exemple, la clé HKEY_LOCAL_MACHINE \ logiciel \ Clients \ startmenuinternet \ répertorie tous les deux Internet Explorer et Firefox sur mon PC.

et obtenir l'association .html échoue pour moi également, car les fichiers HTML sont associés à IE, mais Firefox est mon navigateur par défaut.

Notez que je ne veux pas ouvrir réellement le navigateur, obtenez-y son nom.


0 commentaires

3 Réponses :


1
votes

Les navigateurs par défaut sont généralement définis sur une base d'utilisateur. Avez-vous essayé HKEY_CURRENT_USER à la place? Se présente sur la mienne là-bas correctement.


0 commentaires

16
votes

HKEY_CURRENT_USER \ Software \ classes \ http \ shell \ open \ commande \ (par défaut) est le gestionnaire de l'utilisateur actuel pour le protocole HTTP (ce qui signifie "navigateur par défaut"; Remarque: ce n'est pas le Même chose que le gestionnaire .html par défaut!).

Cependant, il est possible d'avoir un navigateur différent en haut du menu Démarrer sans modifier la valeur par défaut. FYI, le nom du navigateur Nom exécutable dans le menu Démarrer est stocké dans HKEY_CURrent_USER \ logiciels \ Clients \ startmenuinternet \ (par défaut) . .


5 commentaires

Merci. Il semble que j'ai posé la mauvaise question. Lorsque vous cliquez sur un fichier HTML, le navigateur qui s'ouvre est celui qui a enregistré le protocole HTTP, et non le navigateur situé dans le menu Démarrer. Cela a résolu mon problème.


@soupagain: En fait, non. Lorsque vous cliquez sur un fichier .html fichier , le navigateur qui l'ouvre est celui qui a enregistré l'extension .html. Lorsque vous ouvrez un lien http: // link (par exemple, en la saisissant dans la zone "Démarrer-> Exécuter"), le navigateur qui s'ouvre est celui qui a enregistré le protocole HTTP (bien que ce soit généralement le même navigateur dans les deux cas). Vous avez raison que tout ce qui est affiché dans le menu Démarrer n'est pas lié à cela.


Oui, c'est ce que je voulais dire, mais vous l'avez mieux expliqué.


Dans Windows 10, le HKCU \ Software \ Classes \ http (et https ) est vide. Navigateur par défaut pour l'ouverture HTTP (i.e. via Run Box) est défini par la sous-clé de Réponse de Greg T .


Cette entrée de registre me donne Firefox, mais mon navigateur par défaut est chrome :(



11
votes

Testé dans Windows 7 x64: Ceci est un processus en deux étapes. Le navigateur par défaut de l'utilisateur est en clé:

MsgBox % "Default browser: " Browser()

Browser()
{
    ; Find the Registry key name for the default browser
    RegRead, BrowserKeyName, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.html\UserChoice, Progid

    ; Find the executable command associated with the above Registry key
    RegRead, BrowserFullCommand, HKEY_CLASSES_ROOT, %BrowserKeyName%\shell\open\command

    ; The above RegRead will return the path and executable name of the brower contained within qoutes and optional parameters
    ; We only want the text contained inside the first set of quotes which is the path and executable
    ; Find the ending quote position (we know the beginning quote is in position 0 so start searching at position 1)
    StringGetPos, pos, BrowserFullCommand, ",,1

    ; Decrement by one for the StringMid to work correctly
    pos := --pos

    ; Extract and return the path and executable of the browser
    StringMid, BrowserPathandEXE, BrowserFullCommand, 2, %pos%
    Return BrowserPathandEXE
} 
  • IE: IE.assocfile.htm Li>
  • Firefox: Firefoxhtml Li>
  • chrome: chroméhtml li>
  • Opera: Opera.HTML LI> ul>

    remplacer code> ci-dessous avec l'une des valeurs ci-dessus pour trouver l'exécutable: p>

    HKCR\<KEY NAME>\shell\open\command
    


2 commentaires

Une idée de la différence entre cette et la réponse de @ Piskvor? Sa réponse semble fonctionner sur Windows 8.1 X64 (supposant ainsi que cela fonctionne sur Windows 7, mais peut-être que c'est parce que c'est une mise à niveau?)


Sous Windows 10, il s'agit de la seule réponse de travail pour moi puisque la sous-clé de la réponse de Piskvors n'existe pas. Si vous modifiez le navigateur par défaut dans le Applications par défaut dialogue , PROGID valeur .html \ userchoice et .htm \ userchoice Les sous-clés sont modifiés (peut-être à d'autres endroits aussi ).