INF ProfileItems 指令

注意

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

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

INF DDInstall 部分中使用了 ProfileItems 指令,以列出一个或多个包含要添加到“开始”菜单或从“开始”菜单中删除的项目或组的 profile-items-sections

[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 扩展名。 此值可以是字符串或 %strkey% 标记,它在 INF 文件的 Strings 部分中定义。 如果未指定 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 表示系统目录。 可能的 dirid 值列在 DestinationDirs 部分的 dirid 值的说明中。

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

filename 指定与菜单项相关的程序名称。

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 条目,则 index-value 将索引到该 DLL中。 否则,此值将索引到 CmdLine 条目中指定的文件中。

HotKey=hotkey-value
该可选条目指定了菜单项的键盘加速器。

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

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

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

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 指令中列出这些部分。

profile-items-section 条目中指定的任何字符串参数都可以使用 %strkey% 标记来指定,如 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