プログラム識別子
シェルでは、プログラム識別子 (ProgID) レジストリ サブキーを使用して、ファイルの種類をアプリケーションに関連付け、関連付けの動作を制御します。 ファイルの関連付けに使用される ProgID エントリは、レジストリの HKEY_CLASSES_ROOT の下にあります。
このトピックは次のように構成されています。
- ファイルの関連付け で使用されるプログラム識別子要素の
- バージョン管理されたプログラム識別子の使用 の
- 関連トピック
詳細については、「新しいアプリケーション のファイルの種類を登録する方法」を参照してください。
ファイルの関連付けによって使用されるプログラム識別子要素
ProgID キー名の適切な形式は [ベンダーまたはアプリケーション] です。[コンポーネント]。[バージョン]。Word.Document.6 のように、ピリオドで区切られ、スペースはありません。 バージョンの 部分は省略可能ですが、強くお勧めします。 詳細については、「バージョン管理されたプログラム識別子 を使用する」を参照してください。
ProgID サブキーには、次の要素を含める必要があります。 このキーの一部の文字列データには、特定の書式設定が必要であることに注意してください。
要素 | 形容 |
---|---|
(既定) | ProgID サブキーの既定のエントリを、ユーザーに表示するのに適した ProgID のフレンドリ名に設定します。 このエントリを使用してフレンドリ名を保持することは、Windows 2000 以降を実行しているシステムの FriendlyTypeName エントリによって非推奨とされます。 ただし、下位互換性のためにこの値を設定する必要があります。 |
AllowSilentDefaultTakeOver (Windows 8 で導入) | このオプションのエントリを設定して、パブリック ファイルの種類の既定のハンドラーを決定するときに、この ProgID を無視する必要があることを通知します。 この値が設定されているかどうかに関係なく、ProgID は OpenWith ショートカット メニューとダイアログに引き続き表示されます。 これはREG_NONE値です。 |
AppUserModelID (Windows 7 で導入) | アプリケーションが明示的な AppUserModelID を使用し、システムによって自動的に生成された Recent または Frequent Jump Lists を使用する場合、またはカスタムジャンプ リストを提供する場合は、この省略可能なエントリをアプリケーションの明示的なアプリケーション ユーザー モデル ID (AppUserModelID) に設定します。 アプリケーションで明示的な AppUserModelID を使用し、この値を設定しない場合、項目はそのアプリケーションのジャンプ リストに表示されません。 これはREG_SZ文字列です。 詳細については、「アプリケーション ユーザー モデル ID (AppUserModelID)を参照してください。 |
EditFlags の | この省略可能なエントリは、FILETYPEATTRIBUTEFLAGS 列挙型のフラグを使用して設定します。 EditFlags エントリは、この ProgID にリンクされているファイルの種類のシェルの処理のいくつかの側面を制御します。 EditFlags エントリを使用して、ユーザーがファイルのプロパティ シートを使用してこれらのファイルの種類の特定の側面を変更できる量を制限することもできます。 EditFlags に使用される FILETYPEATTRIBUTEFLAGS 値は、ビットごとの OR 演算で複数の属性を 1 つの値に結合できるように設計されたバイナリ値です。 これは、REG_DWORDまたはREG_BINARY値です。 |
FriendlyTypeName | このエントリを ProgID のフレンドリ名に設定します。これは、ユーザーに表示するのに適しています。 一貫性を保つため、この文字列には、この ProgID キーの既定のエントリと同じデータが含まれている必要があります。 このエントリは、REG_SZまたはREG_EXPAND_SZ文字列のいずれかになりますが、たとえば@%SystemRoot%\shell32.dll、-154 など、間接文字列 (完全修飾ファイル名とリソース値の前に @ 記号が付いた) として書式設定する必要があります。 |
ヒント の | このエントリを、シェルがこの ProgID に対して表示する簡単なヘルプ メッセージに設定します。 ヒント エントリがマウス オーバー ダイアログ ボックスに表示されます。 この値には、REG_SZまたはREG_EXPAND_SZ文字列のいずれかを指定できますが、FriendlyTypeName と同様に、間接文字列として書式設定する必要があります。 |
CurVer | このサブキーの (既定) エントリを、この ProgID の最新バージョンに設定します。 注: アプリケーションのバージョンが並べてない限り、つまり、同じシステムに複数のバージョンがインストールされている場合は、CurVerを使用しないようにする必要があります。 |
DefaultIcon をします。 | このサブキーの (Default) エントリを、この ProgID に関連付けられているファイルの種類に対して表示する既定のアイコンに設定します。 この値は、REG_SZまたはREG_EXPAND_SZ文字列のいずれかになりますが、アテンダント リソース値を持つ完全修飾ファイル名として指定する必要があります (たとえば、%SystemRoot%\shell32.dll、-154)。 |
次のレジストリ キーの例は、ファイルの関連付け ProgID キー ノードを示しています。
HKEY_CLASSES_ROOT
Vendor.App.1
(Default) = My Friendly Name
AllowSilentDefaultTakeOver
AppUserModelID = Vendor.Application
EditFlags = 0x00000001
FriendlyTypeName = @%SystemRoot%\shell32.dll,-154
InfoTip = @%SystemRoot%\shell32.dll,-54
CurVer
(Default) = Vendor.App.1
DefaultIcon
(Default) = %SystemRoot%\shell32.dll,-1
バージョン管理されたプログラム識別子の使用
バージョン管理された ProgID は、その名前にバージョンが示されている ProgID です。 これは通常、名前にピリオドとバージョン番号を追加することで行います。 例えば:
- Word.Document.6
- Word.Document.8
これらはバージョン 6 と 8 のバージョンの ProgID です。 サイド バイ サイド アプリケーション (複数のバージョンのアプリケーションを同時にサポートするアプリケーション) がある場合は、CurVer とバージョンに依存しない ProgID を使用します。 それ以外の場合、CurVer とバージョンに依存しない ProgID は非効率性につながるため、回避する必要があります。
関連トピック
-
新しいアプリケーション のファイルの種類を登録する方法
-
ファイルの種類または種類の によるコンテンツ ビューの
-
認識される型 を する