He estado trabajando con los menús del explorador desde el '95 para incluir extensiones de shell de creación en 'c/c++'. digo esto porque yocreerque ya entiendo cómo funcionan las claves de asociación de archivos.
Mi problema es que no quiero Edit
hacer clic derecho en los archivos de texto y NO HAY NINGUNA LLAVE que pueda ver (Editarapareceser un verbo canónico). ¿Quizás haya un nuevo lugar en el registro donde las entradas por usuario puedan usarse para modificar esto? Por cierto, puedo eliminarlo Open
y Print
está bien... sólo que no.EDITAR¡porque no está ahí!
He creado submenús para contener mi gran cantidad de editores y el "Editar" adicional es simplemente molesto.
Para ahorrarles a todos el problema... un par de imágenes valen más que un par de miles de palabras.
Supongo que esta funcionalidad está codificada en el explorador por algún motivo. Espero estar equivocado.
Además... sé que podría escribir una extensión de shell para editar el menú en tiempo de ejecución, pero no para esto... Simplemente la ignoraré.
Ayúdame Obi Wan Explorer Guru Kenobi. Eres mi única esperanza.
Respuesta1
Puedes usarAdministrador de tipos de archivos de NirSoftpara ver qué elementos del menú están asociados con una extensión determinada y editarlos directamente. FileTypesMan reúne las claves de registro relevantes y, por lo tanto, le ahorra una larga búsqueda en el registro.
Para archivos txt, las ubicaciones de las entradas del menú en el explorador pueden ser:
HKEY_CLASSES_ROOT\.txt (file type)
HKEY_CLASSES_ROOT\txtfile (perceived type)
HKEY_CLASSES_ROOT\SystemFileAssociations\.txt (default file type)
HKEY_CLASSES_ROOT\SystemFileAssociations\text (default perceived type)
Entrada del menú 'Editar'
El misterioso comando 'editar' se puede encontrar aquí:
Computer\HKEY_CLASSES_ROOT\SystemFileAssociations\text\shell\edit
Clave SystemFileAssociations
Las subclaves registradas en HKEY_CLASSES_ROOT\SystemFileAssociations permiten que Shell defina el comportamiento predeterminado de los atributos para tipos de archivos y habilite asociaciones de archivos compartidos. Cuando los usuarios cambian la aplicación predeterminada para un tipo de archivo, el ProgID de la nueva aplicación predeterminada tiene prioridad al proporcionar verbos y otra información de asociación. Esta prioridad se debe a que es la primera entrada en la matriz de asociación. Si se cambia el programa predeterminado, la información del ProgID anterior ya no estará disponible.
Fuente:https://docs.microsoft.com/en-us/windows/win32/shell/app-registration
Clave HKEY_CLASSES_ROOT
Tenga en cuenta que, según la situación, las ediciones en HKEY_CLASSES_ROOT se realizarán en cualquiera de estas claves:
HKEY_CURRENT_USER\Software\Classes
HKEY_LOCAL_MACHINE\Software\Classes
Para cambiar la configuración predeterminada, almacene los cambios en HKEY_LOCAL_MACHINE\Software\Classes. Si escribe claves en una clave en HKEY_CLASSES_ROOT, el sistema almacena la información en HKEY_LOCAL_MACHINE\Software\Classes. Si escribe valores en una clave en HKEY_CLASSES_ROOT y la clave ya existe en HKEY_CURRENT_USER\Software\Classes, el sistema almacenará la información allí en lugar de en HKEY_LOCAL_MACHINE\Software\Classes.
Fuente:https://docs.microsoft.com/en-us/windows/win32/sysinfo/hkey-classes-root-key