Programación C740
-
Autoestudio.
-
¿Configuración del menú contextual de Windows y habilidades de aplicación?
1. ¿Aparece el menú contextual?
En los sistemas Windows, siempre que haga clic derecho en el escritorio o en un archivo (carpeta), aparecerá un menú contextual que contiene algunos comandos operativos comunes para archivos (carpetas). A través del menú contextual, los usuarios pueden operar archivos cómodamente. Me preguntaba si estabas interesado en él. ¿Quieres darle un nuevo aspecto y crear un menú contextual con características propias? ¡No te preocupes, después de leer este artículo te convertirás en un experto en este campo! ?
La modificación del menú contextual debe realizarse en el registro, específicamente, bajo la clave HKEY_Class_root (¡esta es la raíz de todos los comandos del menú contextual!). Expanda la clave raíz, hay dos subclaves principales debajo: clave de extensión (. + extensión) y clave de definición de clase (Figura 1). En términos generales, siempre que sea una extensión registrada en el sistema Windows, habrá una subclave "esta extensión" en HKEY_Class_root. · Registre cierta información de extensión y modifique el menú contextual de un tipo específico de archivo usando esta tecla o la tecla "Archivo de extensión". ?
1. ¿Agregar comandos al menú contextual de todos los archivos?
Como Winzip, UltraEdit, etc. Instalado en su sistema, cuando hace clic derecho en cualquier archivo, aparecerán comandos como "¿Agregar? ¿Adónde ir? Zip", "Ultraedit-32" y otros comandos (por supuesto, Winzip es ligeramente diferente, de lo que hablaré más tarde). Su método de adición es:?
(1).Abrir "HKEY_Class_Root\*";?
(2) Cree un nuevo "shell\command\branch" debajo de él, luego establezca el valor clave del comando en la ruta absoluta del programa ejecutable utilizado al ejecutar el comando y agregue después " %1". ?
Por ejemplo: en "HKEY_Class_R?
Oot \ *, cree una nueva subclave de "shell\ open \command con wordpad" y establezca el valor de la clave del comando en "c: \windows\notepad.exe? % 1", aparecerá el comando "Abrir con WordPad" en el menú contextual (Figura 2).?
Descripción:?
1. Para eliminar este tipo de comando , simplemente simplemente elimine el subelemento "comando";
2. Algunas personas pueden pedirle que haga lo que escribí, pero ¿por qué obtiene algo diferente al mío? ), simplemente agregue "(&;n)"
2. ¿Agregar un comando al menú contextual de un tipo de archivo específico?
¿Hablo ahora del software Winzip? Para tipos de archivos normales, su menú contextual tiene "¿Agregar?" ¿A dónde ir? Zip", pero para los tipos de archivos comprimidos que admite, como *.zip, *.cab y *.rar, existe la opción "¿Abrir? ¿Qué usar? Winzip "," ¿Extraer? ¿Quieres un extracto ","? ¿A dónde ir? Carpeta "," creada? ¿Autoextractor (.EXE)"? Para archivos de instalación autoextraíbles (como OICQ99b), el menú contextual tiene "¿Ejecutar? ¿Qué usar? Comando Winzip". El siguiente es un método para agregar comandos al menú contextual de un tipo de archivo específico (¿agregar reproducción al menú contextual de archivos mp3? ¿Qué usar? Por ejemplo, Winamp):?
(1). Abra la clave principal "HKEY _ class _ root \ MP3 _ auto _ file";?
(2) Cree un nuevo "shell\play? ¿Qué usar? winamp(&P)\command" y establezca el valor clave del comando en "C:\Program? archivos\winamp\winamp.exe? %1"?.
?
Nota: cuando varios programas pueden reproducir archivos mp3, podemos agregar varios comandos al menú contextual, como agregar comandos como "¿Reproducir? ¿Qué? Unreal", pero ¿cómo definimos un comando? ? ¿Como acción predeterminada (es decir, el comando en negrita en el menú contextual)? ?
¡Seguro que dirás que es algo muy sencillo! Mueva el mouse sobre un archivo mp3, mantenga presionada la tecla Mayús mientras hace clic derecho y seleccione "Modo abierto" en el menú contextual para cambiarlo, pero esto es incorrecto. Pruébelo, de modo que solo cuando seleccione "Abrir" en el menú contextual, se abrirá con el programa de su elección; de lo contrario, continúe como antes. Porque su acción predeterminada no es el comando "abrir". El método real es cambiar el valor clave predeterminado del Shell al comando que desea ejecutar, como cambiar el valor clave del Shell a "Winamp". ?
Además, no sé si te diste cuenta, pero usé "Reproducir" en el ejemplo anterior. ¿Qué usar? "Winamp", ¿y el uso de "Winamp" aquí es un poco inapropiado? Hablando de esto, realmente me entristece. Originalmente, usé el shell para convertir las operaciones predeterminadas en el documento txt (convertir abrir e imprimir) con bastante éxito. , pero una vez cambié "¿Reproducir? ¿Qué usar? Winamp" y "¿Jugar? ¿Qué usar? Unreal" falló y no se pudo realizar la conversión. Finalmente, me di cuenta de que esto podría ser un error en "Wenba", que requiere que el nombre de la clave primaria sea una sola cadena durante la conversión. También es válido para la combinación de caracteres chinos e inglés, pero no debe haber espacios en el medio (no ¿Sabes si esto tiene algo que ver con mi versión de Win98?
Si crees que el método anterior es inconveniente y complicado). , en realidad existe un método más conveniente y seguro en Windows que no requiere operar el registro: abra una carpeta y seleccione Ver/Opciones de carpeta/Tipos de archivos. Aquí puede encontrar todos los tipos de archivos registrados/Editar. Verá las cuatro opciones a continuación: Agregar, Editar, Eliminar y Establecer como botón predeterminado. ¿No necesito enseñarle más?
3. carpetas?
Si ha utilizado el software Acdsee, encontrará que siempre aparece el mensaje "¿Buscar? "En el menú contextual de la carpeta. ¿Qué usar? Comando Acdsee" y la tendencia de PC-cillin. ¿penicilina? 98, a continuación se explica cómo agregar este tipo de comando:
(1). Abra la clave principal "HKEY_Class_Root\Dirty\Shell";
(2) Cree un nuevo "comando" debajo... ¡No entraré en eso a continuación! ?
Nota: 1. Si tiene cuidado, encontrará que también aparece "¿Examinar?" en el menú contextual de la unidad. ¿Qué usar? acdver "?" tendencia? PC-cilin98" y otros comandos, la unidad también es una carpeta especial, pero el comando no se puede agregar al menú contextual de la unidad mediante el método anterior. Si desea agregarle un comando, debe operar " HKEY_Class_Root\Drive\Shell" Clave principal;? (3) También hay una subclave de carpeta debajo de la clave principal "HKEY_Class_Root". Como sugiere el nombre, las operaciones en ella afectarán a todas las carpetas, incluida la Papelera de reciclaje. (La Figura 4 muestra " ¿Examinar?" ¿Qué usar? Acdsee "comando").
4. ¿Agregar comandos al menú contextual de todos los archivos y carpetas?
Si desarrolla un programa usted mismo, es El objeto de operación son archivos y carpetas, entonces, si desea agregar comandos específicos al menú contextual de todos los archivos y carpetas, consulte a continuación
¿Abrir "HKEY_Class_Root\All File System Objects"? , cree un nuevo "shell\command\command" debajo de él. Las siguientes operaciones son las mismas que antes.
Cabe señalar que esto es solo una solución si miras la imagen. capturado, encontrará que siempre aparece un comando "IconView" en el menú contextual de todos los archivos y carpetas, pero no es así como está formado (Figura 5). La biblioteca iv_shext.dll está extendida, por lo que aparece en el medio del menú contextual (¿Qué? ¿Permítanme hablar sobre este método? Debido a que este método implica programación, no hablaré de él debido al espacio y al tema. limitaciones (¡Shh! Mantenlo bajo. De hecho, yo tampoco puedo.
)?
5. ¿Agregar y eliminar algunos comandos especiales?
(1). ¿Gestor de recursos?
En los sistemas Windows, el menú contextual de carpetas, unidades, papeleras de reciclaje, etc., comunes. Hay comandos de "explorador". Si solo desea mantener este comando en la unidad, primero puede eliminar la subclave de exploración en la clave principal "HKEY_Class_Root\Folder\Shell" y luego hacer clic en "HKEY_Class_Root\Drive" en la clave principal "Shell". ¿Qué tal crear una ¿Subclave "explore\command" para que la clave del comando sea "c:\windows\explorer.exe /e,/idle,%I,%l"? ¡Éxito! ?
(2). ¿Vaciar la Papelera de Reciclaje?
En sistemas Windows, el comando "Vaciar papelera de reciclaje" solo está disponible en el menú contextual de la Papelera de reciclaje. ¿No es conveniente? Bueno, podemos hacer que todos los menús de archivos tengan el comando "Vaciar papelera de reciclaje", ¿sigues eso? ¡I! ?
La idea es descubrir primero el origen del comando "vaciar papelera de reciclaje" y luego copiarlo a "HKEY_Class_Root\*". Bien, busquémoslo primero. ¡Busqué y busqué y finalmente lo encontré! (Figura 6) - Déjame enseñarte otro truco, es decir, algunos comandos especiales (especialmente software proporcionado por terceros) se obtienen de la biblioteca de extensiones de la aplicación (.DLL), y sus rastros se pueden encontrar en "shellex\ContextMenuHandlers". " del registro. aparecer. ? Abrimos "HKEY_Class_Root\clsid\{ 645 ff 040-5081-101 b-9f 08-00aa 002 f954 e }?\shellex\ContextMenuHandlers", y podemos encontrar que hay un archivo llamado "{ 645 ff 040- 5081- 1 b-9 f08-00 aa 002 f 954 e }", que es la raíz del comando "Vaciar papelera de reciclaje". ?
Es mucho más fácil encontrar la causa raíz. En "HKEY_Class\Root\*\Shellex\Context Menu Handlers" cree una nueva clave llamada "{ 645 ff 040-5081-101 b-9f 08-00aa 002 f954 e". ?
(3) ¿Agregar y eliminar subcomandos de nuevos comandos?
No sé si alguna vez se ha encontrado con esta situación: a menudo escribe páginas web a mano. Hay un comando "nuevo documento html" en el nuevo comando en la máquina de su empresa y en su máquina. Ninguno. Y con la creciente cantidad de software diverso, cada vez se necesita más tiempo para que su nuevo comando muestre subcomandos, ¡lo cual es terrible! ? No importa, no te preocupes, te ayudaré a llamar a los que deberían salir y dejaré que los que no deberían salir sean devueltos. ?
Abre "HKEY_Class\Root\". htm", agregue una clave principal shellnew y luego cree un nuevo valor de cadena NullFile? El valor de la clave está vacío. Ahora, haga clic derecho en el escritorio y vea si hay un poco más. En cuanto a la eliminación, creo que no lo hará. déjame saber más.
(4) ¿Agregar comandos como cortar, copiar y pegar?
¿Ten en cuenta que solo estoy hablando de agregar comandos como cortar, copiar, y pegar, es decir, dice que puedo agregar algunos objetos que no tienen estos comandos en el menú contextual, pero ni siquiera puedo eliminar aquellos objetos que tienen estos comandos.
¿Está bien? Permítame usar la papelera de reciclaje como ejemplo para agregar comandos de cortar, copiar, pegar, etc. Específicamente, agregaré comandos como "Abrir, Cortar, Copiar, Pegar, Cambiar nombre, Eliminar, Propiedades". e }", encontrará una subclave "shellfolder", bajo la cual se creará un nuevo archivo binario.
Los detalles son los siguientes:
¿Pedido? ¿Valor clave?
¿Abrirlo? 00?00?00?20?
¿No? 02?00?00?00?
¿Copiar? 01?00?00?00?
¿Pegar? 00?01?00?00?
¿Eliminar? 20?00?00?00?
¿Cambiar nombre? 10?00?00?00?
¿Propiedades? 40?00?00?00?
Si desea mostrar algunos comandos, solo necesita agregar el valor clave correspondiente al comando y el resultado se puede usar como el valor clave del atributo. Por ejemplo, ¿cuando el valor del atributo es 00? 00?00?00 (predeterminado), los comandos anteriores no se mostrarán, cuando sean 73?01?00? a las 20 en punto, se mostrarán todos los comandos (como se muestra en la Figura 7). Ahora, puedes cambiar la "Papelera de reciclaje" por el nombre que deseas cambiar y puedes pegar "Papelera" en la Papelera de reciclaje (¿pero creo que esto no es muy útil?).
(5 ) ¿"Enviar a" y su menú?
Algunas carpetas (como Mis Documentos) no tienen el comando "Enviar a" en el menú contextual, podemos agregarlo. Para conocer el método, consulte el método para agregar el comando "Vaciar papelera de reciclaje". "¿Quieres abrir HKEY_Class_Root\CLSID\{450 D8 BFA-AD25-11 d0-98 A8-0800 361b 1103}\Shellex\Context Menu Handler", debajo. ?
En cuanto al menú "Enviar a", no es necesario operar en el registro. Su directorio raíz es la carpeta "C:\windows\SendTo". Sólo necesita crear un acceso directo en esta carpeta y dejar que apunte a la carpeta a la que desea enviar, y eso es todo (como se muestra en la Figura 8, donde Copia de seguridad y Software son accesos directos a la carpeta recién creada). ?
(6).
En los sistemas Windows, el menú contextual de carpetas y unidades normales tiene el comando "Buscar...". Si queremos encontrar archivos eliminados accidentalmente en la Papelera de reciclaje y hay muchos archivos en la Papelera de reciclaje, podemos agregar el comando "Buscar..." al menú contextual de la Papelera de reciclaje. Consulte 2 y 5 para conocer métodos específicos. La única subclave nueva es "{ 61e 218e 0-65d 3-101 b-9f 08-061 ceac 3d 50d }". ¿Solo el comando se convierte en "Archivo o Carpeta..." (Figura 9)?
Dicho todo esto, ahora deberías saber cómo modificar el menú contextual, ¿verdad? Todo lo anterior se pasa bajo la versión china de Windows98. Finalmente, ¡deseo que todos puedan cambiar su menú contextual para que sea único y útil! ! ?
2. ¿Modificar fácilmente el menú contextual del ratón?
¿Has utilizado Windows alguna vez? Los amigos de 95/98 deben saber que usar el botón derecho del mouse para abrir un menú puede simplificar muchas operaciones, como usar WINZIP para comprimir archivos. Entonces, gradualmente se volvió "gordo", ¿primero WINZIP, luego ACDSee y luego Norton? Antivirus... ¿Quieres modificar este menú emergente también? Espero que este artículo pueda darte algo de inspiración. ?
¿Modificar el menú emergente del botón derecho de un archivo (menú emergente para abreviar)?
Ejecute el Editor del Registro (regedit.exe) y abra Mi PC\HKEY_Class_Root\*\shellex\? ContextMenuHandler". Hay dos claves principales en esta rama, HexWorkshopContextMenu y Winzip (Winzip y HexWorkshop están instalados en mi computadora). ¿Puedes encontrar Hex después de eliminarlo? En el menú emergente del archivo original. ¿Editar? Hay adiciones ? ¿Adónde ir? Faltan dos cosas. Cuando desee agregar algunos archivos ejecutables en el menú emergente (tome el Bloc de notas como ejemplo), puede hacer lo siguiente:
1. Computer\HKEY" _Class_Root\*" Cree una nueva clave principal llamada Shell.?
2. Cree una nueva clave principal llamada AAA en "Shell" (AAA es el texto que se muestra en el menú emergente). suponiendo que lo abra con un cuaderno).
?
3. Cree una nueva clave principal denominada comando en aaa y cambie el valor de clave predeterminado a la derecha a "c:\windows\notepad.exe?% 1" (% 1 significa que el archivo no tiene parámetros, solo ejecute programas de notebook). ?
4. Debes agregar un nuevo elemento de menú y repetir los pasos 2 y 3. ?
De esta manera, la opción "Abrir con libreta" aparece en el menú emergente, lo que evita el problema de seleccionar repetidamente libretas entre muchos métodos de apertura al abrir archivos que no están asociados con libretas, y puede abrirse de diferentes maneras Cuando se cambia la asociación original del archivo, el mismo archivo se puede abrir de varias maneras (como abrir una imagen con Photoshop y ACDSee al mismo tiempo), lo que aumenta la flexibilidad del método de apertura del archivo. . ?
¿Modificar los menús emergentes de unidades y carpetas?
1. ¿Modificar el menú emergente de la unidad?
(1) El método de modificación es básicamente el mismo que la modificación del menú emergente del archivo anterior. Ejecute el editor de registro y abra "Mi PC\HKEY_CLASSES_ROOT\DRIVE". Hay tres claves principales a continuación: DefaultIcon, shell y shellex. ?
(2) ¿Puedes ver la búsqueda y la navegación cuando abres el shell? ¿Qué usar? ACDSee (se requiere ACDSee en la máquina), que también es el texto que se muestra en el menú emergente, como Examinar? ¿Qué usar? Cuando ACDSee se cambia a otro nombre, como "Buscar con ACDSee", el inglés se convierte en "Buscar con ACDSee" en chino. Agregar un elemento de menú también requiere agregar una nueva clave principal debajo del shell, mientras que eliminar un elemento de menú solo requiere eliminar la clave principal correspondiente. Por ejemplo, si elimina HexWorkshop, puede eliminar la clave principal de HexWorkshopContextMenu en la clave principal de ContextMenuHandlers en Shellex. ?
2. ¿Modificar el menú emergente de la carpeta?
La modificación del menú emergente de carpetas es más complicada e involucra dos directorios y carpetas de clave principal (también ubicados en "Mi PC\HKEY_?Class_root\"). La modificación de la clave principal de la carpeta también afectará el menú emergente de la unidad (la modificación de la clave principal de la unidad no afectará a los demás). Por ejemplo, si agrega una nueva clave principal en la clave principal Carpeta\Shell (llamada aaaa), el elemento aaaa aparecerá en los menús emergentes de la unidad y de la carpeta, y la eliminación también los afectará. Por ejemplo, eliminar las claves principales de exploración y apertura en Carpeta\Shell hará que el explorador y los elementos abiertos del menú emergente desaparezcan. Para eliminar el elemento winzip en el menú emergente de la unidad, ¿eliminar Carpeta\Shellex\Context? La clave principal de Winzip en MenuHandlers es suficiente. Para eliminar el elemento winzip en el menú emergente de la carpeta, también debe eliminar la clave principal de winzip en el directorio\Shellex\Context Menu Handlers. Solo se pueden agregar o eliminar menús emergentes de carpetas, y solo es necesario manipular el directorio (operar el directorio de clave principal no afectará el menú emergente de la unidad). Si elimina el elemento del menú de búsqueda, simplemente elimine la clave principal de búsqueda en Directorio\Shell y agregue una nueva clave principal en Shell. ?
3. ¿Modificar desde opciones de carpeta?
Este método es relativamente simple, similar a establecer una asociación con un archivo. El método es el siguiente:?
(1) Haga doble clic en Mi PC para abrir Ver/Opciones de carpeta (para Windows98, también puede hacer clic en Inicio/Configuración/Opciones de carpeta). ?
(2) Haga clic en la pestaña Tipos de archivo, seleccione la unidad y presione el botón Editar. ?
(3) En el cuadro de diálogo de edición de tipo de archivo posterior, presione el botón "Nuevo", ingrese el nombre (es decir, el texto en el menú emergente) en el cuadro de diálogo emergente de nueva operación e ingrese el nombre de la aplicación en el cuadro de texto de la aplicación (también puede navegar para encontrarlo) y presione "Aceptar" cuando termine. ?
Los pasos para modificar una carpeta son los mismos, solo selecciona la carpeta. ?
Estos métodos le permiten agregar su propio software al menú emergente.
¿No es una sensación de logro compartir un lugar con software genuino? ?
3. ¿Usar el menú contextual con habilidad?
Mover y copiar archivos son las operaciones de archivos más utilizadas en Windows. Generalmente, primero selecciona el archivo, luego usa el botón derecho del mouse para seleccionar copiar o cortar, luego abre la carpeta de destino y luego pega. Además, abrir y colocar en mosaico dos ventanas del explorador y luego arrastrarlas también puede lograr el propósito de la operación. (En realidad, el comando "Enviar a" de Windows es un comando de copia muy flexible. Podemos agregar manualmente el objeto "Enviar a" y luego podemos copiar fácilmente el archivo. Pero estos métodos no son lo suficientemente flexibles. Tal vez Microsoft esté al tanto En Windows Me/XP, se agregan los comandos "Copiar a carpeta" y "Mover a carpeta". Desafortunadamente, sigue siendo un poco inconveniente en aplicaciones prácticas. El método de operación introducido por el autor le permite agregar los comandos "Copiar a carpeta" y "Mover a carpeta" en el menú contextual, lo que puede facilitar enormemente la operación.
1. ¿Editor del Registro?
2. En el panel izquierdo de la ventana "Editor del Registro", expanda la rama "HKEY_Class_Root\All File Systems?objects\Shellex\Context Menu Handlers"
3. Haga clic con el botón derecho en ContextMenuHandlers, seleccione Nuevo → Clave principal y nombre la nueva clave principal ¿Copiar?
4. Seleccione la tecla "¿Copiar?" y haga doble clic en ella en el panel derecho. "{ C2 fbb 630-2971-11d 1-a 18c-00 c 04 FD 75d 65433" en el cuadro de datos del valor del cuadro de diálogo emergente
5. Haga clic en Salir en el menú Archivo. y cierre la ventana del Editor del Registro.
Agregue el comando "Mover a carpeta". El método y los pasos son los mismos que los anteriores, pero en "ContextMenuHandlers", cree un nuevo comando "Mover?". su valor es "{C2FBB631-?2971-11d 1-a 18c-00 c 04 FD 75d 13}"
Ahora, haga clic derecho en un archivo (carpeta) y aparecerá la ventana emergente. menú de acceso directo, hay dos opciones: Copiar a carpeta y Mover a carpeta. Haga clic en Probar y aparecerá una ventana de exploración de carpetas. Después de seleccionar la carpeta de destino, haga clic en "Aceptar" para copiar o mover el archivo. Extienda el registro a HKEY _current_? User\Software\Microsoft\Internet? Explorer\MenuExt, las configuraciones adicionales del menú contextual que se muestran en IE se configuran aquí, haga clic derecho en "netants" y "flashget" para descargar información común También se almacena aquí. Simplemente busque la entrada de clave principal que muestra el anuncio y elimínela.