¿Dónde almacena Windows su configuración “Abrir con”?

Estoy intentando verificar programáticamente las asociaciones de archivos por la extensión de archivo (por ejemplo, archivos .jnlp ). Sigo leyendo eso

 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\JNLPFile\Shell\Open\Command 

es la clave del registro para verificar. Sin embargo, si cambia la asociación a través del Explorador de Windows:

Abrir con> Seleccionar progtwig> (Usar siempre el progtwig seleccionado)

el cambio no se refleja en absoluto en esta clave del Registro. ¿Dónde más se almacena esta información?

Eche un vistazo en:

 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\ 

y la clave secundaria de eso es la extensión que reasignaste. Debajo, aparecerán las claves secundarias UserChoice y OpenWithList que contendrán su redefinición.

También es posible que desee leer http://support.microsoft.com/kb/950505, que habla sobre su problema.

Esta es una búsqueda en dos partes.

Primero, busca el valor predeterminado de HKEY_CLASSES_ROOT \ [file_extension]. Para sus extensiones, .jnlp, el valor es “JNLPFile”. Llamemos esto al [file_descriptor].

Ahora puede buscar el valor predeterminado de HKEY_CLASSES_ROOT \ [file_descriptor] \ Shell \ [action] \ command (donde [acción] es la acción de shell que le interesa, por ejemplo: Abrir, Imprimir, Editar, etc.).

En:

 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jnlp\OpenWithList 

Consejo: Editar> Buscar es bastante útil en estas situaciones. 🙂