
Nota importante: Este artículo surge a partir de
una petición en un foro de noticias sobre Visual Basic, si lo que quieres es información
sobre cómo poner opciones en los menúes contextuales, escríbeme por correo electrónico
.
El artículo es largo, así que te recomiendo desconectar, guardarlo y leerlo maximizado
El registro de W95 es un poco lioso, pero muy potente. Si ejecutas el REGEDIT, verás varias secciones:
- Clases OLE y asociaciones de ficheros (la que nos interesa)
- Peculiaridades para el usuario actual
- Peculiaridades para la máquina (comunes a todos los usuarios)
- Aquí se definen los distintos usuarios
- Configuración actual
- Es algo del Plug & Play
En la primera sección, al hacer clic en el REGEDIT
en HKEY_CLASSES_ROOT verás dos partes: una interminable lista de extensiones de ficheros
incluyendo el punto y empezando por * -asterisco- y unas definiciones de archivos. En la
ventana derecha del REGEDIT verás los valores de cada clave.
La forma más sencilla de crear claves en el registro es ponerlas en un fichero de texto con extensión .REG y hacer doble clic sobre él (o ejecutarlo con la función Shell() desde VB). Este fichero debe empezar por una línea que contenga "REGEDIT4" para que windows lo reconozca como tal; luego veremos la sintaxis.
Aunque puedes definir el tipo de fichero y las opciones del menú contextual (el que sale al hacer clic derecho) en una misma clave, todo el mundo lo hace en dos, así podrás tener mayor claridad y podrás definir una clase de ficheros para varias extensiones. Por ejemplo:
Quiero que los ficheros con extensiones .0, .1, .2,...,.9 sean del tipo "Tablas" y que en el menú contextual aparezca la opción "Listar parámetros" (que es lo que hace mi programa).
Para ello defino las extensiones como tipo "Tablas":
| [HKEY_CLASSES_ROOT\.0] @="Tablas" [HKEY_CLASSES_ROOT\.1] @="Tablas" [HKEY_CLASSES_ROOT\.2] @="Tablas" [HKEY_CLASSES_ROOT\.3] @="Tablas" [HKEY_CLASSES_ROOT\.4] @="Tablas" [HKEY_CLASSES_ROOT\.5] @="Tablas" [HKEY_CLASSES_ROOT\.6] @="Tablas" [HKEY_CLASSES_ROOT\.7] @="Tablas" [HKEY_CLASSES_ROOT\.8] @="Tablas" [HKEY_CLASSES_ROOT\.9] @="Tablas" |
Debes poner seguidos los renglones de la clave y
del valor. La @ indica que va a ser un valor alfanumérico y este valor "Tablas"
será el que aparezca en la columna "Tipo" del explorador cuando este en modo
"detalles" a no ser que aparezca en el registro una clave con ese nombre.
Entonces será el valor alfanumérico que contenga esta clave (si añades lo siguiente
será "Parámetros de generación") [HKEY_CLASSES_ROOT\Tablas] Puedes también decidir el icono que aparecerá para ese tipo
de ficheros: Y la opción que quieres que aparezca (por fin hemos llegado): |
El & antes de "Listar parámetros" es para que salga la L subrayada y se seleccione la opción al pulsar "L".
El %1 pasa como argumento el nombre completo del fichero. Si usas nombres con espacios, usa ""\LISPAR99.EXE" "%1"" para que el nombre lo pase entrecomillado.
Date cuenta de que debes poner las barras invertidas ("\") por duplicado para que lo acepte dentro del valor.
El resultado final en el REGEDIT sería éste:

Aquí te pongo el código entero de la función que dentro de mi programa VB lo asigna a los ficheros que usa.
Pongo también un contador para comprobar cuánta gente ha visitado ésta página.
Espero que haya quedado claro, y si no, mándame un mensaje a ESCUDO@teleline.es