INF ProfileItems 指令

注意

从 Windows 11 版本 22H2 开始,使用此指令的驱动程序包不再有资格从硬件开发人员中心获得签名。

通用驱动程序包Windows 驱动程序 不能使用此指令。

InF DDInstall中使用 ProfileItems 指令来列出包含要添加到“开始”菜单或从中删除的项或组的一个或多个 profile-items-section

[DDInstall] 
 
ProfileItems=profile-items-section[,profile-items-section]...
...

ProfileItems 指令引用的每个命名节具有以下形式:

[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]

此指令在 Windows XP 和更高版本的 Windows 中受支持。

Name=link-name[name-attributes]
link-name 指定菜单项或组的链接名称,不带.lnk扩展名。 此值可以是在 INF 文件的 Strings 节中定义的字符串或 %strkey% 标记。 如果未指定 DisplayResource 条目, 则 link-name 也是显示字符串。

可选的 name-attributes 值指定一个或多个影响菜单项操作的标志。 此值表示为系统定义的标志值的 ORed 位掩码。 可能的标志包括:

0x00000001 (FLG_PROFITEM_CURRENTUSER)
指示 Windows 创建或删除当前用户配置文件中的“开始”菜单项。 如果未指定此标志,Windows 将处理所有用户的项。

0x00000002 (FLG_PROFITEM_DELETE)
指示 Windows 删除菜单项。 如果未指定此标志,则会创建该项。

0x00000004 (FLG_PROFITEM_GROUP)
指示 Windows 在“开始”\“程序”下创建或删除“开始”菜单组。 如果未指定此标志,Windows 将创建或删除菜单项,而不是菜单组。

如果未指定标志,Windows 会为所有用户创建一个菜单项。

CmdLine=dirid[subdir]filename
dirid 指定一个值,该值标识命令程序所在的目录。 例如, dirid 为 11 表示系统目录。 DestinationDirs 部分的 dirid 值说明中列出了可能的 dirid 值。

如果存在 subdir 字符串,则命令程序位于 dirid 引用的目录的子目录中。 子目录指定子目录。 如果未指定 subdir ,则程序位于 dirid 引用的目录中。

文件名指定与菜单项关联的程序的名称。

SubDir=path
此可选条目指定菜单项所在的 Start\Programs 下的子目录 (子菜单) 。 如果省略此项,则路径默认为 Start\Programs。

例如,如果 profile-items-section 具有条目“Subdir=Accessories\Games”,则在 Start\Programs\Accessories\Games 子菜单中创建或删除该菜单项。

注意

如果为 name-attributes 指定了 FLG_PROFITEM_GROUP,则忽略 SubDir 条目。

WorkingDir=wd-dirid[wd-subdir]
此可选条目指定命令程序的工作目录。 如果省略此项,则工作目录默认为命令程序所在的目录。

wd-dirid 值标识工作目录。 有关可能的 dirid 值的列表,请参阅 使用 Dirids

wd-subdir 字符串(如果存在)将 wd-dirid 的子目录指定为工作目录。 使用此参数可以指定没有系统定义的 dirid 的目录。 如果省略此参数,则 wd-dirid 值将单独指定工作目录。

IconPath=icon-dirid[icon-subdir]icon-filename
此可选条目指定包含菜单项图标的文件的位置。

icon-dirid 字符串标识包含图标的 DLL 的目录。 有关可能的 dirid 值的列表,请参阅 使用 Dirids

icon-subdir 值(如果存在)指示 DLL 位于 icon-dirid 的子目录中。 icon-subdir 值指定子目录。

icon-filename 值指定包含图标的 DLL。

如果省略此项,Windows 将在 CmdLine 条目中指定的文件中查找图标。

IconIndex=index-value
此可选条目指定要将 DLL 中的哪个图标用于菜单项。 有关如何为 DLL 中的图标编制索引的信息,请参阅Microsoft Windows SDK文档。

如果指定 了 IconPath 条目,则 索引值 会索引到该 DLL 中。 否则,此值会索引到 CmdLine 条目中指定的文件中。

HotKey=hotkey-value
此可选条目指定菜单项的键盘快捷键。

有关热键的详细信息,请参阅 Windows SDK 文档。

Infotip=info-tip
此可选条目指定菜单项的信息提示。

此值可以是在 INF 文件的 Strings 节中定义的字符串或 %strkey% 标记。

info-tip 值还可以指定为“@ResDllPath\ResDll,-ResID,其中 ResDllPathResDll 指定资源 DLL 的路径和文件名,而 -resID 是表示资源 ID 的负值。

使用此格式支持 Windows 多语言用户界面 (MUI) 。 示例如下:

InfoTip = "@%11%\shell32.dll,-22531"

DisplayResource=“ResDllPath\ResDll”,ResID
此可选条目指定标识可本地化字符串的字符串资源,该字符串将在“开始”菜单中用作快捷方式或组的显示名称。

ResDllPathResDll 指定资源 DLL 的路径和文件名, resID 是表示资源 ID 的正值。 示例如下:

DisplayResource="%11%\shell32.dll",22019

使用此条目支持 Windows 多语言用户界面 (MUI) 。 如果未使用此条目,则显示 由 Name 条目指定的字符串。

注解

给定 的 profile-items-section 名称在 INF 文件中必须是唯一的,并且必须遵循定义节名称的一般规则。 有关这些规则的详细信息,请参阅 INF 文件的一般语法规则

每个 profile-items-section 都包含有关创建或删除一个“开始”菜单项或组的详细信息。 若要从 INF 操作多个菜单项或组,请创建多个 profile-items-section 并在 ProfileItems 指令中列出这些节。

可以使用 %strkey% 标记指定在 profile-items-section 条目中指定的任何字符串参数,如 INF 文件的一般语法规则中所述。

示例

以下 INF 文件摘录显示了如何使用 profile-items-section 将计算器添加到“开始”菜单。

[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"

以下 INF 文件摘录显示如何使用 DisplayResource 条目创建本地化菜单项来安装相同的软件。

[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"

另请参阅

DDInstall