プログラム識別子

シェルは、プログラム識別子 (ProgID) レジストリ サブキーを使用して、ファイルの種類をアプリケーションに関連付け、関連付けの動作を制御します。 ファイルの関連付けに使用される ProgID エントリは、レジストリの HKEY_CLASSES_ROOT の下にあります。

このトピックは次のように整理されています。

詳細については、「新しいアプリケーションのファイルの種類を登録する方法」を参照してください。

ファイルの関連付けによって使用されるプログラム識別子要素

ProgID キー名の適切な形式は [ベンダーまたはアプリケーション] です。[コンポーネント]。[バージョン]。Wordのように、ピリオドで区切られ、スペースはありません。Document.6。 バージョン部分は省略可能ですが、強くお勧めします。 詳細については、「 バージョン管理されたプログラム識別子の使用」を参照してください。

ProgID サブキーには、次の要素を含める必要があります。 このキーの一部の文字列データには、特定の書式設定が必要であることに注意してください。

要素 説明
(既定値) ProgID サブキーの既定のエントリを、ユーザーに表示するのに適した ProgID のフレンドリ名に設定します。 このエントリを使用してフレンドリ名を保持することは、Windows 2000 以降を実行しているシステムの FriendlyTypeName エントリによって非推奨とされます。 ただし、下位互換性のためにこの値を設定する必要があります。
AllowSilentDefaultTakeOver (Windows 8 で導入) この省略可能なエントリを設定して、パブリック ファイルの種類の既定のハンドラーを決定するときに、Windows がこの ProgID を無視する必要があることを通知します。 この値が設定されているかどうかに関係なく、ProgID は OpenWith ショートカット メニューとダイアログに引き続き表示されます。 これはREG_NONE値です。
AppUserModelID (Windows 7 で導入) アプリケーションが明示的な AppUserModelID を使用し、システムで自動的に生成された 最近 または 頻繁 なジャンプ リストを使用する場合、またはカスタムジャンプ リストを提供する場合は、この省略可能なエントリをアプリケーションの明示的なアプリケーション ユーザー モデル ID (AppUserModelID) に設定します。 アプリケーションで明示的な AppUserModelID を使用し、この値を設定しない場合、項目はそのアプリケーションのジャンプ リストに表示されません。 これはREG_SZ文字列です。 詳細については、「 アプリケーション ユーザー モデル ID (AppUserModelIDs)」を参照してください。
EditFlags FILETYPEATTRIBUTEFLAGS 列挙のフラグを使用して、この省略可能なエントリを設定します。 EditFlags エントリは、この ProgID にリンクされているファイルの種類に対するシェルの処理の一部の側面を制御します。 EditFlags エントリを使用して、ユーザーがファイルのプロパティ シートを使用してこれらのファイルの種類の特定の側面を変更できる量を制限することもできます。 EditFlags に使用される FILETYPEATTRIBUTEFLAGS 値は、ビットごとの OR 演算で複数の属性を 1 つの値に結合できるように設計されたバイナリ値です。 これは、REG_DWORD値またはREG_BINARY値です。
FriendlyTypeName このエントリを ProgID のフレンドリ名に設定します。これは、ユーザーに表示するのに適しています。 一貫性を保つには、この文字列には、この ProgID キーの Default エントリと同じデータが含まれている必要があります。 このエントリは、REG_SZまたはREG_EXPAND_SZ文字列のいずれかになりますが、@ %SystemRoot%\shell32.dll,-154 などの間接文字列 (完全修飾ファイル名とリソース値の前に @ 記号が付いた) として書式設定する必要があります。
ヒント このエントリを、シェルがこの ProgID に対して表示する簡単なヘルプ メッセージに設定します。 ヒント エントリがマウス オーバー ダイアログ ボックスに表示されます。 この値は、REG_SZまたはREG_EXPAND_SZ文字列のいずれかになりますが、FriendlyTypeName と同様に、間接文字列として書式設定する必要があります。
CurVer このサブキーの (既定値) エントリを、この ProgID の最新バージョンに設定します。
メモ: アプリケーションのバージョン (つまり、同じシステムに複数のバージョンがインストールされている) がない限り、 CurVer の使用は避ける必要があります。
DefaultIcon このサブキーの (既定) エントリを、この 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 とバージョンに依存しない ProgIDs を使用します。 それ以外の場合、CurVer とバージョンに依存しない ProgID は非効率性につながるため、回避する必要があります。

新しいアプリケーションのファイルの種類を登録する方法

アプリケーションの登録

ファイルの種類

ファイルの関連付けのしくみ

ファイルの種類または種類別のコンテンツ ビュー

ファイルの種類の検証ツール

ファイルの種類のハンドラー

認識される型

関連付け配列