Diretiva INF ProfileItems
Cuidado
A partir do Windows 11 versão 22H2, um pacote de driver que usa essa diretiva não está mais qualificado para uma assinatura da Central do Desenvolvedor para Hardware.
Os pacotes de driver Universais e os Drivers do Windows não podem usar essa diretiva.
Uma diretiva ProfileItems é usada em uma seção INF DDInstall para listar uma ou mais profile-items-sections que contêm itens ou grupos a serem adicionados ou removidos do menu Iniciar.
[DDInstall]
ProfileItems=profile-items-section[,profile-items-section]...
...
Cada seção nomeada referenciada por uma diretiva ProfileItems tem o seguinte 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]
Esse diretiva tem suporte no Windows XP e em versões posteriores do Windows.
Entradas
Name=link-name[,name-attributes]
O link-name especifica o nome do link para o item de menu ou grupo, sem a extensão .lnk. Esse valor pode ser uma cadeia de caracteres ou um token %strkey% definido em uma seção Strings do arquivo INF. Se uma entrada DisplayResource não for especificada, link-name também será a cadeia de caracteres de exibição.
O valor opcional name-attributes especifica um ou mais sinalizadores que afetam a operação no item de menu. Esse valor é expresso como uma máscara de bits ORed de valores de sinalizador definidos pelo sistema. Os possíveis sinalizadores incluem os seguintes:
0x00000001 (FLG_PROFITEM_CURRENTUSER)
Direciona o Windows para criar ou excluir um item do menu Iniciar no perfil do usuário atual. Se esse sinalizador não for especificado, o Windows processará o item para todos os usuários.
0x00000002 (FLG_PROFITEM_DELETE)
Direciona o Windows para excluir o item de menu. Se esse sinalizador não for especificado, o item será criado.
0x00000004 (FLG_PROFITEM_GROUP)
Direciona o Windows para criar ou excluir um grupo de menus Iniciar em Iniciar\Programas. Se esse sinalizador não for especificado, o Windows criará ou excluirá um item de menu, não um grupo de menus.
Se nenhum sinalizador for especificado, o Windows criará um item de menu para todos os usuários.
CmdLine=dirid,[subdir],filename
O dirid especifica um valor que identifica o diretório no qual o programa de comando reside. Por exemplo, um dirid de 11 indica o diretório do sistema. Os possíveis valores de dirid são listados na descrição do valor de dirid na seção DestinationDirs.
Se uma cadeia de caracteres subdir estiver presente, o programa de comando estará em um subdiretório do diretório referenciado por dirid. O subdir especifica o subdiretório. Se nenhum subdir for especificado, o programa estará no diretório referenciado por dirid.
O filename especifica o nome do programa associado ao item de menu.
SubDir=path
Essa entrada opcional especifica um subdiretório (submenu) em Iniciar\Programas no qual o item de menu reside. Se essa entrada for omitida, o caminho padrão será Iniciar\Programas.
Por exemplo, se a profile-items-section tiver a entrada "Subdir=Acessórios\Jogos", o item de menu está sendo criado ou excluído no submenu Iniciar\Programas\Acessórios\Jogos.
Observação
Se FLG_PROFITEM_GROUP for especificado para name-attributes, a entrada SubDir será ignorada.
WorkingDir=wd-dirid[,wd-subdir]
Essa entrada opcional especifica um diretório de trabalho para o programa de comando. Se essa entrada for omitida, o diretório de trabalho será padronizado para o diretório no qual o programa de comando reside.
O valor wd-dirid identifica o diretório de trabalho. Para obter listas de possíveis valores de dirid , consulte Usar Dirids.
A cadeia de caracteres wd-subdir, se presente, especifica um subdiretório de wd-dirid para ser o diretório de trabalho. Use esse parâmetro para especificar um diretório que não tenha um dirid definido pelo sistema. Se esse parâmetro for omitido, o valor de wd-dirid sozinho especificará o diretório de trabalho.
IconPath=icon-dirid,[icon-subdir],icon-filename
Essa entrada opcional especifica o local de um arquivo que contém um ícone para o item de menu.
A cadeia de caracteres icon-dirid identifica o diretório da DLL que contém o ícone. Para obter listas de possíveis valores de dirid , consulte Usar Dirids.
O valor de icon-subdir, se presente, indica que a DLL está em um subdiretório de icon-dirid. O valor de icon-subdir especifica o subdiretório.
O valor de icon-filename especifica a DLL que contém o ícone.
Se essa entrada for omitida, o Windows procurará um ícone no arquivo especificado na entrada CmdLine.
IconIndex=index-value
Essa entrada opcional especifica qual ícone em uma DLL deve ser usado para o item de menu. Para obter informações sobre como indexar os ícones em uma DLL, consulte a documentação do SDK do Microsoft Windows.
Se uma entrada IconPath for especificada, o valor de index-value será indexado nessa DLL. Caso contrário, esse valor será indexado no arquivo especificado na entrada CmdLine.
HotKey=hotkey-value
Essa entrada opcional especifica um acelerador de teclado para o item de menu.
Para obter mais informações sobre as teclas de acesso, consulte a documentação do SDK do Windows.
Infotip=info-tip
Essa entrada opcional especifica uma dica informativa para o item de menu.
Esse valor pode ser uma cadeia de caracteres ou um token %strkey% definido em uma seção Strings do arquivo INF.
O valor de info-tip também pode ser especificado como "@ResDllPath\ResDll,-ResID", em que ResDllPath e ResDll especificam o caminho e o nome do arquivo de uma DLL de recurso, e -resID é um valor negativo que representa uma ID do recurso.
Use esse formato para dar suporte à MUI (Interface de Usuário Multilíngue) do Windows. Veja um exemplo a seguir:
InfoTip = "@%11%\shell32.dll,-22531"
DisplayResource="ResDllPath\ResDll",ResID
Essa entrada opcional especifica um recurso de cadeia de caracteres que identifica uma cadeia de caracteres localizável, a ser usada no menu Iniciar como o nome de exibição do atalho ou grupo.
ResDllPath e ResDll especificam o caminho e o nome do arquivo de uma DLL de recurso, e resID é um valor positivo que representa uma ID de recurso. Veja um exemplo a seguir:
DisplayResource="%11%\shell32.dll",22019
Use essa entrada para dar suporte à MUI (Interface de Usuário Multilíngue) do Windows. Se essa entrada não for usada, a cadeia de caracteres especificada pela entrada Nome será exibida.
Comentários
Um nome de profile-items-section deve ser exclusivo dentro do arquivo INF e deve seguir as regras gerais para definir nomes de seção. Para mais informações sobre essas regras, consulte Regras gerais de sintaxe para arquivos INF.
Cada profile-items-section contém informações detalhadas para criar ou remover um item ou grupo do menu Iniciar. Para manipular mais de um item de menu ou grupo de um INF, crie mais de uma profile-items-section e liste as seções na diretiva ProfileItems.
Qualquer um dos parâmetros de cadeia de caracteres especificados nas entradas de profile-items-section pode ser especificado usando um token %strkey%, conforme descrito em Regras gerais de sintaxe para arquivos INF.
Exemplos
O trecho do arquivo INF a seguir mostra como usar profile-items-section adicionar a Calculadora ao Menu Iniciar.
[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"
O trecho do arquivo INF a seguir mostra como instalar o mesmo software usando a entrada DisplayResource para criar itens de menu 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"