1) Identificar el tipo de archivo (ProgID) para archivos .jpg
Esto se puede hacer mediante la comprobación del valor predeterminado de HKEY_CLASSES_ROOT\.jpg
. Podría ser cualquier cosa en función de lo que haya instalado, pero a efectos de este ejemplo, lo llamaremos jpegfile
, un valor predeterminado común.
2) Ajuste el elemento de menú contextual (verbo) propiedades de ese archivo
Puede configurar elementos del menú contextual de cada usuario dentro HKEY_CURRENT_USER\Software\Classes\jpegfile\shell
. Esta clave tiene una lista de verbos para el tipo de archivo. Hay una clave similar en HKEY_LOCAL_MACHINE\Software\Classes\jpegfile\shell
, y estos son los valores predeterminados del sistema para el tipo de archivo. También puede poner una clave de verbo, pero si la misma clave existe en HKCU, se anulará, así que tenga en cuenta.
3) Establecer el valor de orden
El valor de la clave mínimo que se debe establecer para conseguir que funcione es el valor predeterminado de la command
subclave. Debe configurarlo con la ruta de acceso a su aplicación, de esta manera: HKEY_CURRENT_USER\Software\Classes\jpegfile\shell\open_with_myapp\command
se configurará en "c:\path\to\myapp.exe" "%1"
. Ahora, un menú contextual para archivos .jpg tendrá un elemento "abrir_con_myapp" que iniciará su aplicación cuando se haga clic y pasará el nombre del archivo seleccionado como parámetro. Por supuesto, la forma en que la aplicación procesa los parámetros depende de usted, por lo que deberá establecer la cadena de parámetros en algo que su aplicación pueda procesar.
4) Establecer otras propiedades verbales
me imagino lo que probablemente va a querer el elemento del menú contextual para leer algo un poco más amigable que el nombre de clave. Puede hacer que el menú contextual muestre la etiqueta que desee para su elemento estableciendo el valor predeterminado de esa tecla (open_with_myapp
).
Esa es su descripción general básica. Sin duda la salida de mi respuesta a esta pregunta acerca de asociar un archivo, el cual tiene una respuesta similar:
¡Muchas gracias! –
Conozco este método para agregar entradas al menú contextual. Sin embargo, ¿también puede mencionar cómo hacer una entrada como predeterminada? Sé cómo hacer esto usando "opciones de carpeta", pero la línea de comando o las opciones de registro serían geniales. (Creo que tenemos que hacerlo con la entrada de dword 'editflags', pero no estoy seguro.) – anishsane
@anishsane establezca el valor predeterminado de la tecla 'shell' para el nombre de la clave del verbo que desea que sea predeterminada –