2010-10-13 16 views
21

Estoy intentando verificar programáticamente las asociaciones de archivos por la extensión de archivo (por ejemplo, archivos .jnlp). Sigo leyendo que¿Dónde almacena Windows su configuración "Abrir con"?

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

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

Abrir con> Elegir programa> (Utilizar siempre el programa seleccionado)

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

Respuesta

22

echa un vistazo en:

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

y el sub-clave de esto es la extensión que reasignado. Debajo, aparecerán las claves secundarias UserChoice y OpenWithList que contendrán su redefinición.

Le recomendamos que lea http://support.microsoft.com/kb/950505, que trata sobre su problema.

2

En:

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

Consejo: Edición> Buscar es bastante útil en estas situaciones. :)

4

Esta es una búsqueda de 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.)

Cuestiones relacionadas