Directiva ProfileItems de INF
Precaución
A partir de Windows 11 versión 22H2, un paquete de controladores que usa esta directiva ya no es apto para una firma del Centro para desarrolladores de hardware.
Los paquetes de controladores universales y los controladores de Windows no pueden usar esta directiva.
Una directiva ProfileItems se usa en una sección INF DDInstall para enumerar una o varias profile-items-sections que contienen elementos o grupos que se van a agregar o quitar del menú Inicio.
[DDInstall]
ProfileItems=profile-items-section[,profile-items-section]...
...
Cada sección con nombre a la que hace referencia una directiva ProfileItems tiene el siguiente formato:
[profile-items-section]
Name=link-name[,name-attributes]
CmdLine=dirid,[subdir],filename
[SubDir=path]
[WorkingDir=wd-dirid,wd-subdir]
[IconPath=icon-dirid,[icon-subdir],icon-filename]
[IconIndex=index-value]
[HotKey=hotkey-value]
[Infotip=info-tip]
[DisplayResource="ResDllPath\ResDll",ResID]
Esta directiva se admite en Windows XP y versiones posteriores de Windows.
Entries
Name=link-name[,name-attributes]
link-name especifica el nombre del vínculo para el elemento de menú o grupo, sin la extensión .lnk. Este valor puede ser una cadena o un token %strkey% que se define en una sección Strings del archivo INF. Si no se especifica una entrada DisplayResource, link-name también es la cadena para mostrar.
El valor opcional name-attributes especifica una o varias marcas que afectan a la operación en el elemento de menú. Este valor se expresa como máscara de bits ORed de valores de marca definidos por el sistema. Entre las marcas posibles figuran las siguientes:
0x00000001 (FLG_PROFITEM_CURRENTUSER)
Indica a Windows que debe crear o eliminar un elemento de menú Inicio en el perfil del usuario actual. Si no se especifica esta marca, Windows procesa el elemento para todos los usuarios.
0x00000002 (FLG_PROFITEM_DELETE)
Indica a Windows que debe eliminar el elemento de menú. Si no se especifica esta marca, se crea el elemento.
0x00000004 (FLG_PROFITEM_GROUP)
Indica a Windows que debe crear o eliminar un grupo de menú Inicio en Inicio\Programas. Si no se especifica esta marca, Windows crea o elimina un elemento de menú, no un grupo de menús.
Si no se especifica ninguna marca, Windows crea un elemento de menú para todos los usuarios.
CmdLine=dirid,[subdir],filename
dirid especifica un valor que identifica el directorio en el que reside el programa de comandos. Por ejemplo, un dirid de 11 indica el directorio del sistema. Los posibles valores de dirid se enumeran en la descripción del valor de dirid de la sección DestinationDirs.
Si hay una cadena de subdir, el programa de comandos se encuentra en un subdirectorio del directorio al que hace referencia dirid. El subdir especifica el subdirectorio. Si no se especifica ningún subdir, el programa se encuentra en el directorio al que hace referencia dirid.
filename especifica el nombre del programa asociado al elemento de menú.
SubDir=path
Esta entrada opcional especifica un subdirectorio (submenú) en Start\Programs en el que reside el elemento de menú. Si se omite esta entrada, la ruta de acceso predeterminada es Start\Programs.
Por ejemplo, si la sección profile-items-section tiene la entrada "Subdir=Accessories\Games", el elemento de menú se creará o eliminará en el submenú Start\Programs\Accessories\Games.
Nota:
Si se especifica FLG_PROFITEM_GROUP para name-attributes, se omite la entrada SubDir.
WorkingDir=wd-dirid[,wd-subdir]
Esta entrada opcional especifica un directorio de trabajo para el programa de comandos. Si se omite esta entrada, el directorio de trabajo tiene como valor predeterminado el directorio en el que reside el programa de comandos.
El valor wd-dirid identifica el directorio de trabajo. Para obtener listas de posibles valores dirid, consulte Uso de Dirids.
La cadena wd-subdir, si está presente, especifica un subdirectorio de wd-dirid como directorio de trabajo. Use este parámetro para especificar un directorio que no tenga un dirid definido por el sistema. Si se omite este parámetro, el valor wd-dirid solo especifica el directorio de trabajo.
IconPath=icon-dirid,[icon-subdir],icon-filename
Esta entrada opcional especifica la ubicación de un archivo que contiene un icono para el elemento de menú.
La cadena icon-dirid identifica el directorio del archivo DLL que contiene el icono. Para obtener listas de posibles valores dirid, consulte Uso de Dirids.
El valor icon-subdir, si está presente, indica que el archivo DLL está en un subdirectorio de icon-dirid. El valor icon-subdir especifica el subdirectorio.
El valor de icon-filename especifica el archivo DLL que contiene el icono.
Si se omite esta entrada, Windows busca un icono en el archivo especificado en la entrada CmdLine.
IconIndex=index-value
Esta entrada opcional especifica qué icono de un archivo DLL se va a usar para el elemento de menú. Para obtener información sobre cómo indexar los iconos en un archivo DLL, consulte la documentación del SDK de Microsoft Windows.
Si se especifica una entrada IconPath, index-value se indexa en ese archivo DLL. De lo contrario, este valor se indexa en el archivo especificado en la entrada CmdLine.
HotKey=hotkey-value
Esta entrada opcional especifica un acelerador de teclado para el elemento de menú.
Para obtener más información sobre las teclas de acceso directo, consulte la documentación del SDK de Windows.
Infotip=info-tip
Esta entrada opcional especifica una sugerencia informativa para el elemento de menú.
Este valor puede ser una cadena o un token %strkey% que se define en una sección Strings del archivo INF.
El valor de info-tip también se puede especificar como "@ResDllPath\ResDll,-ResID", donde ResDllPath y ResDll especifican la ruta de acceso y el nombre de archivo de un DLL de recursos, y -resID es un valor negativo que representa un identificador de recurso.
Use este formato para admitir la Interfaz de usuario multilingüe (MUI) de Windows. como, por ejemplo, el siguiente:
InfoTip = "@%11%\shell32.dll,-22531"
DisplayResource="ResDllPath\ResDll",ResID
Esta entrada opcional especifica un recurso de cadena que identifica una cadena localizable, que se usará en el menú Inicio como nombre para mostrar para el acceso directo o grupo.
ResDllPath y ResDll especifican la ruta de acceso y el nombre de archivo de un DLL de recursos, y resID es un valor positivo que representa un identificador de recurso. como, por ejemplo, el siguiente:
DisplayResource="%11%\shell32.dll",22019
Use esta entrada para admitir la Interfaz de usuario multilingüe (MUI) de Windows. Si no se usa esta entrada, se muestra la cadena especificada por la entrada Nombre.
Comentarios
Cada nombre de profile-items-section indicado debe ser único dentro del archivo INF y debe seguir las reglas generales para definir nombres de sección. Para obtener más información sobre estas reglas, consulte Reglas generales de sintaxis para archivos INF.
Cada profile-items-section contiene información detallada para crear o quitar un elemento o grupo de menú Inicio. Para manipular más de un elemento de menú o grupo desde un INF, cree más de una profile-items-section y enumere las secciones de la directiva ProfileItems.
Cualquiera de los parámetros de cadena especificados en las entradas de profile-items-section se puede especificar mediante un token %strkey%, como se describe en Reglas de sintaxis general para archivos INF.
Ejemplos
El siguiente fragmento de archivo INF muestra cómo usar profile-items-section para agregar la Calculadora al menú Inicio.
[CalcInstallItems]
Name = %Calc_DESC%
CmdLine = 11,, calc.exe
SubDir = %Access_GROUP%
WorkingDir = 11
InfoTip = %Calc_TIP%
:
:
[Strings]
AccessGroup = "Accessories"
Calc_DESC = "Calculator"
Calc_TIP = "Performs basic arithmetic tasks with an on-screen calculator"
El siguiente fragmento de archivo INF muestra cómo instalar el mismo software mediante la entrada DisplayResource para crear elementos de menú localizados.
[CalcInstallItems]
Name = %Calc_DESC%
CmdLine = 11,, calc.exe
SubDir = %Access_GROUP%
WorkingDir = 11
InfoTip = "@%11%\shell32.dll,-22531"
DisplayResource="%11%\shell32.dll",22019
:
:
[Strings]
Access_GROUP = "Accessories"
Calc_DESC = "Calculator"