次の方法で共有


INF ProfileItems ディレクティブ

注意事項

Windows 11 バージョン 22H2 以降では、このディレクティブを使用する ドライバー パッケージ は、 ハードウェア デベロッパー センターからの署名の対象ではなくなりました。

ユニバーサル ドライバー パッケージWindows ドライバー では、このディレクティブを使用できません。

ProfileItems ディレクティブは、INF DDInstall セクションで、スタート メニューに追加または削除する項目またはグループを含む 1 つ以上の 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 の以降のバージョンでのみサポートされます。

Entries

Name=link-name[,name-attributes]
link-name は、メニュー項目またはグループのリンクの名前を、.lnk 拡張子なしで指定します。 この値には、INF ファイルの Strings セクションで定義されている文字列または %strkey% トークンを指定できます。 DisplayResource エントリが指定されていない場合、link-name も表示文字列になります。

オプション の name-attributes 値は、 メニュー項目の操作に影響を与える 1 つ以上のフラグを指定します。 この値は、システム定義フラグ値の ORed ビットマスクとして表されます。 使用できるフラグは次のとおりです。

0x00000001 (FLG_PROFITEM_CURRENTUSER)
現在のユーザーのプロファイル内のスタート メニュー項目を作成または削除するように Windows に指示します。 このフラグが指定されていない場合、Windows はすべてのユーザーの項目を処理します。

0x00000002 (FLG_PROFITEM_DELETE)
メニュー項目を削除するように Windows に指示します。 このフラグが指定されていない場合は、項目が作成されます。

0x00000004 (FLG_PROFITEM_GROUP)
スタート\プログラムの下にスタート メニューグループを作成または削除するように Windows に指示します。 このフラグが指定されていない場合、Windows はメニュー グループではなくメニュー項目を作成または削除します。

フラグが指定されていない場合、Windows はすべてのユーザーのメニュー項目を作成します。

CmdLine=dirid,[subdir],filename
dirid は、コマンド・プログラムが存在するディレクトリーを識別する値を指定します。 たとえば、 11 の ダイリド はシステム ディレクトリを示します。 指定できるディリド値は、「DestinationDirs」セクションの dirid 値の説明に記載されています。

subdir 文字列が存在する場合、コマンド プログラムは dirid によって参照されるディレクトリのサブディレクトリにあります。 subdir はサブディレクトリを指定します。 サブディルが指定されていない場合、プログラムは dirid によって参照されるディレクトリー内にあります。

ファイル名 は、メニュー項目に関連付けられているプログラムの名前を指定します。

SubDir=path
このオプションのエントリは、メニュー項目が存在する Start\Programs の下のサブディレクトリ (サブメニュー) を指定します。 このエントリを省略すると、パスの既定値は Start\Programs になります。

たとえば、profile-items-section に "Subdir=Accessories\Games" というエントリがある場合、メニュー項目は Start\Programs\Accessories\Games サブメニューで作成または削除されます。

Note

名前属性 にFLG_PROFITEM_GROUPが指定されている場合、SubDir エントリは無視されます。

WorkingDir=wd-dirid[,wd-subdir]
この省略可能なエントリは、コマンド プログラムの作業ディレクトリを指定します。 この項目を省略すると、作業ディレクトリーはデフォルトでコマンド・プログラムが存在するディレクトリーになります。

wd-dirid 値は作業ディレクトリを識別します。 使用可能なディリド値の一覧については、「Dirids の使用」を参照してください。

wd-subdir 文字列 (存在する場合) は、wd-dirid のサブディレクトリを作業ディレクトリとして指定します。 システム定義 の dirid を持たないディレクトリを指定するには、このパラメーターを使用します。 このパラメーターを省略すると、 wd-dirid 値だけが作業ディレクトリを指定します。

IconPath=icon-dirid,[icon-subdir],icon-filename
このオプションのエントリは、メニュー項目のアイコンを含むファイルの場所を指定します。

icon-dirid 文字列は、アイコンを含む DLL のディレクトリを識別します。 使用可能なディリド値の一覧については、「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 エントリで指定された文字列が表示されます。

解説

指定された プロファイル項目セクション 名は、INF ファイル内で一意である必要があり、セクション名を定義するための一般的な規則に従う必要があります。 これらの規則の詳細については、「INF ファイルの一般的な構文規則」を参照してください。

プロファイル項目セクション には、1 つのスタート メニュー項目またはグループを作成または削除するための詳細情報が含まれています。 INF から複数のメニュー項目またはグループを操作するには、複数の profile-items-section を作成し、ProfileItems ディレクティブのセクションを一覧表示します。

INF ファイルの一般的な構文規則 の説明に従って、%strkey% トークンを使用して、profile-items-section エントリで指定された文字列パラメーターのいずれかを指定できます。

次の 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