Saltar al contenido

¿Cómo cambio mi navegador predeterminado a un programa no listado en Windows 7?

Solución:

Sí, puede crear un script con manipulación directa del registro.

La respuesta corta

Copie cada uno de los siguientes en .reg archivos (como firefox.reg, chrome.reg, ie.reg) y ejecútelos cuando desee cambiar (o script con reg.exe).

Para Firefox:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellAssociationsUrlAssociationshttpUserChoice]
"ProgId"="FirefoxURL"

Para Chrome:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellAssociationsUrlAssociationshttpUserChoice]
"ProgId"="ChromeHTML"

Para IE9:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellAssociationsUrlAssociationshttpUserChoice]
"ProgId"="IE.HTTP"

La respuesta larga

Windows almacena los registros predeterminados del protocolo estándar por usuario bajo el UrlAssociations clave, que se encuentra en

HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellAssociationsUrlAssociations

Al igual que en las asociaciones de archivos, puede haber un “Programa predeterminado” para los enlaces. Esta es una especie de terminología de jerga que hace referencia a la UserChoice clave: también hay un registro de shell similar a una asociación de archivos estándar bajo el http ProgId que puede además cambiar, pero la configuración próxima para los navegadores es a través de Programas predeterminados (consulte la parte inferior para obtener un comentario adicional sobre esto).

De lo que estoy hablando aquí es de lo que está cambiando cuando va a la sección Programas predeterminados del Panel de control para configurar un navegador:

Programas predeterminados para protocolos en el panel de control

Para configurar esto directamente en el registro, primero inspeccionemos que ya está allí. En esta captura de pantalla, navegué hasta esa clave en regedit.exey Chrome es mi navegador predeterminado, designado por el ChromeHTML Valor de ProgId.

Navegando a la subclave UrlAssociations en regedit

El cambio mínimo que debe realizar para cambiar qué navegador se abre cuando hace clic en un enlace es cambiar el ProgId valor bajo el UserChoice subclave en cada protocolo que desea cambiar (probablemente http y https será el mismo, pero si por alguna razón quisiera que cada uno de ellos se abriera en navegadores separados, podría hacerlo).

Ahora es solo una cuestión de determinar qué usar para Firefox, IE y cualquier otro navegador al que desee cambiar. Si desea determinar esto mediante programación, puede hacerlo investigando el Capabilities clave del registro del navegador, que se encuentra aquí para Firefox:

HKEY_LOCAL_MACHINESOFTWAREClientsStartMenuInternetFIREFOX.EXECapabilitiesURLAssociations

HKEY_LOCAL_MACHINESOFTWAREClientsStartMenuInternet es donde se enumeran todos los navegadores, y cada uno debe tener la estructura anterior.

Navegando a la clave de Capacidades en regedit

Puede ver en la inspección que si quisiera cambiar a Firefox, usaría el FirefoxURL Copia de seguridad del valor ProgId en UrlAssociations.

(Sin embargo, si no quería investigar así, hay un truco rápido: simplemente configure el navegador que desee como predeterminado y actualice regedit para ver lo que el navegador ha configurado para el UserChoice!)

Todo lo que tenemos que hacer es cambiar ese valor clave a FirefoxURL, y ahora los enlaces se abren en Firefox. Después de hacerlo, puede hacer clic en un enlace o verificar en el panel de control que el valor predeterminado correcto esté registrado:

Verificando dos veces el programa predeterminado en el Panel de control

Ahora bien, si ha prestado mucha atención, es posible que haya notado un par de fallas con todo esto:

  1. IE no tiene URLAssociations subclave debajo de su registro del navegador en StartMenuInternet, entonces, ¿de dónde proviene el valor de ProgId? Respuesta: No lo sé, al menos no sin más investigación. Puede estar codificado o encontrado en otra clave que aún no he encontrado.

  2. ProgId de Firefox está debajo URLAssociations están FirefoxURL, pero cuando hace clic para registrarse en las opciones del propio navegador, utiliza FirefoxHTML como ProgId en su lugar! ¿Por qué? De nuevo, no lo sé. Ambos funcionan porque ambos existen y apuntan a Firefox. Tal vez sea intencional, pero probablemente sea solo un error sin efecto.

  3. ¿Qué pasa cuando no hay UserChoice ¿Programa preestablecido? Respuesta: la asociación de archivos “normal” para el protocolo (p. Ej., http) se utiliza. Esto se encuentra en las ubicaciones estándar de ProgId al igual que las asociaciones de archivos (HKCUSoftwareClasses, HKLMSoftwareClasses, y la vista en HKCR). Al menos Chrome establece su información allí, creo, pero Firefox no parece hacerlo, al menos en mis pruebas.

  4. Recomiendo que si desea agregar esto al Editor de programas predeterminado, debe sugerirlo y votarlo en la página de comentarios de UserVoice de esa aplicación. Tengo entendido que el autor de la aplicación presta atención a esos comentarios cuando decide cómo dedicar su tiempo de desarrollo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *