プログラム識別子

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

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

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

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

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

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

要素 説明
標準 ProgID サブキーの既定のエントリを、ユーザーに表示するのに適した ProgID のわかりやすい名前に設定します。 フレンドリ名を保持するためにこのエントリを使用することは、Windows 2000 以降を実行しているシステムの FriendlyTypeName エントリによって非推奨とされます。 ただし、旧バージョンとの互換性のためにこの値を設定する必要があります。
Allowが Entdefault引き継ぎ (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 キーの既定のエントリと同じデータが含まれている必要があります。 このエントリには REG_SZ または REG_EXPAND_SZ 文字列を指定できますが、 @% SystemRoot% \shell32.dll,-154のように、間接的な文字列 (完全修飾ファイル名とリソース値) として書式設定する必要があります。
InfoTip このエントリには、この ProgID のシェルに表示される簡単なヘルプメッセージを設定します。 ヒントエントリがマウスオーバーダイアログボックスに表示されます。 この値は REG_SZ または REG_EXPAND_SZ 文字列のいずれかになりますが、FriendlyTypeName のように、間接的な文字列として書式設定する必要があります。
CurVer このサブキーの (既定) エントリを、この ProgID の最新バージョンに設定します。
[!Note]
Side-by-side アプリケーションバージョン、つまり、同じシステムに複数のバージョンがインストールされている場合を除き、 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 は、バージョンが名前に示されているものです。 これを行うには、通常、ピリオドとバージョン番号を名前に追加します。 次に例を示します。

  • Word.Document
  • Word.Document

これらのバージョンは、それぞれバージョン6と8の Progid でバージョン管理されています。 Side-by-side アプリケーション (つまり、アプリケーションの複数のバージョンを同時にサポートするアプリケーション) がある場合は、CurVer とバージョンに依存しない Progid を使用します。 そうでない場合は、CurVer とバージョンに依存しない Progid を避ける必要があります。

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

アプリケーションの登録

ファイルの種類

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

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

ファイルの種類の検証

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

認識型

アソシエーション配列