Registrar un elemento de menú contextual estático

Los complementos MMC administrativos de Servicios de dominio de Active Directory y el shell de Windows proporcionan un mecanismo para agregar un elemento al menú contextual que se muestra para los objetos en Servicios de dominio de Active Directory. El menú contextual puede invocar cualquier archivo que se pueda iniciar con la API ShellExecute , como una dirección URL de aplicación o página web.

Registro con Servicios de dominio de Active Directory

El registro de la extensión del menú contextual es específico de una configuración regional. Si la extensión de menú contextual se aplica a todas las configuraciones regionales, debe registrarse en el objeto displaySpecifier de la clase de objeto en todos los subcontenedores de configuración regional del contenedor De especificadores de visualización. Si la extensión del menú contextual se localiza para una configuración regional determinada, debe registrarse en el objeto displaySpecifier en ese subcontenedador de configuración regional. Para obtener más información sobre el contenedor y las configuraciones regionales de los especificadores de pantalla, vea Display Specifiers and DisplaySpecifiers Container.

Hay dos atributos de especificador de visualización en los que se puede registrar un elemento de menú contextual estático, adminContextMenu y shellContextMenu.

El atributo adminContextMenu identifica los menús contextuales administrativos que se muestran en los complementos administrativos de Servicios de dominio de Active Directory. El menú contextual aparece cuando el usuario muestra el menú contextual de los objetos de la clase adecuada en uno de los complementos MMC administrativos.

El atributo shellContextMenu identifica los menús contextuales del usuario final que se van a mostrar en el shell de Windows. El menú contextual aparece cuando el usuario ve el menú contextual de los objetos de la clase adecuada en el Explorador de Windows. A partir de Windows Server 2003, el shell de Windows ya no muestra objetos procedentes de Servicios de dominio de Active Directory.

Todos estos atributos tienen varios valores.

Al registrar un elemento de menú contextual estático, los valores de los atributos adminContextMenu y shellContextMenu requieren el siguiente formato.

<order number>,<menu text>,<command>

El "<número> de pedido" es un número sin signo que representa la posición del elemento en el menú contextual. Cuando se muestra un menú contextual, los valores se ordenan mediante una comparación del "<número> de pedido" de cada valor. Si más de un valor tiene el mismo "<número> de pedido", esas extensiones de menú contextual se cargan en el orden en que se leen desde el servidor de Active Directory. Si es posible, use un "número> de pedido" no< existente, es decir, uno que no haya sido utilizado por otros valores de la propiedad . No hay ninguna posición inicial prevista y se permiten huecos en la secuencia de "<número> de pedido".

El "<texto> del menú" es la cadena que se muestra en el menú contextual. El "<texto> del menú" puede incluir un carácter "&" que precede al carácter de método abreviado de teclado del elemento de menú. Esto hará que el carácter precedido esté subrayado. Por ejemplo, si el "<texto> del menú" es "&Archivo", el texto del menú se mostrará como "Archivo", se subrayará "F" y "F" será el método abreviado de teclado para el elemento de menú.

El "<comando>" es el programa o archivo ejecutado por el complemento. Debe especificarse la ruta de acceso completa o el archivo debe existir en la variable de entorno de ruta de acceso del equipo. El archivo se invoca mediante la función ShellExecute . El "<comando>" no puede contener parámetros adicionales, por ejemplo, Notepad.exe Myfile.txt. Dado que se usa ShellExecute , se puede usar cualquier archivo o dirección que se pueda pasar a ShellExecute para "<command>". Por ejemplo, si "<command>" contiene "d:\file.txt", d:\file.txt se abrirá con la aplicación asociada a la extensión .txt. Del mismo modo, si "<command>" contiene "https://www.fabrikam.com", se abre el explorador web predeterminado y se mostrará la página web especificada. Se permiten rutas de acceso y nombres de aplicación con espacios. Si "<command>" es una aplicación, la clase ADsPath y el objeto seleccionado se pasan como argumentos de línea de comandos, separados por un espacio.

En el shell de Windows, se admiten elementos de menú contextual de selección múltiple. En este caso, se invoca el "<comando>" para cada objeto seleccionado. En los complementos administrativos de Servicios de dominio de Active Directory, no se admiten elementos de menú contextual estáticos de selección múltiple.

Importante

Para el shell de Windows, los datos del especificador de visualización se recuperan en el inicio de sesión de usuario y se almacenan en caché para la sesión del usuario. Para los complementos administrativos, los datos del especificador de visualización se recuperan cuando se carga el complemento y se almacenan en caché durante el proceso. Para el shell de Windows, esto significa que los cambios en los especificadores de visualización surten efecto después de que un usuario cierre la sesión y vuelva a activarse. En el caso de los complementos administrativos, los cambios surten efecto cuando se vuelve a cargar el archivo de complemento o consola; es decir, si inicia una nueva instancia del archivo de consola o una nueva instancia de Mmc.exe y agrega el complemento, se recuperan los datos del especificador de visualización más recientes.

 

Para obtener más información y un ejemplo de código, vea Código de ejemplo para instalar un elemento de menú contextual estático.