Comment puis-je déterminer le navigateur Windows par défaut (en haut du menu Démarrer)? P>
J'utilise VB6 mais je peux probablement adapter autre code sans problème. P>
Il existe des questions similaires sur le débordement de la pile, mais ils semblent fournir des réponses incorrectes. P>
Par exemple, la clé HKEY_LOCAL_MACHINE \ logiciel \ Clients \ startmenuinternet \ répertorie tous les deux Internet Explorer et Firefox sur mon PC. P>
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. P>
Notez que je ne veux pas ouvrir réellement le navigateur, obtenez-y son nom. P>
3 Réponses :
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. P>
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 \ Software \ classes \ http \ shell \ open \ commande \ (par défaut) code> 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 code> par défaut!). p>
HKEY_CURrent_USER \ logiciels \ Clients \ startmenuinternet \ (par défaut) code>. P>.
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 b>, le navigateur qui l'ouvre est celui qui a enregistré l'extension .html. Lorsque vous ouvrez un lien http: // link b> (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 code> (et
https code>) 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 :(
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 }
remplacer
HKCR\<KEY NAME>\shell\open\command
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 code> valeur code> .html \ userchoice code> et
.htm \ userchoice code> Les sous-clés sont modifiés (peut-être à d'autres endroits aussi ).