ファイルの関連付けの例
次の例では、Litware, Inc. という架空のソフトウェア開発会社が LitwarePlayer という新しいオーディオ プレーヤーを作成します。 Litware では、LitwarePlayer とそのプライマリ ファイルの種類の間のファイル関連付けを設計したいと考えています。このファイルの種類は、オーディオ CD 全体を 10 KB 未満のメモリに保存し、品質を失う必要のない新しく開発されたオーディオ形式を使用します。
重要
このトピックは、Windows 10には適用されません。 Windows 10で既定のファイルの関連付けが機能する方法が変更されました。 詳細については、この記事の「既定のアプリWindows 10処理する方法の変更」のセクションを参照してください。
新しいファイルの関連付けの設計
会社は次の手順を実行する必要があります。
新しいファイルの種類をパブリックまたはプライベートとして扱う必要があるかどうかを決定します。 この新しいファイルの種類はメディアの種類です。 ユーザーはさまざまなプラットフォームでメディア ファイルを交換し、LitwarePlayer 形式を読み取る必要がある他のアプリケーションがある可能性があるため、 パブリック ファイルの種類が最も適切です。
このファイルの種類が既に定義されているかどうかを確認します。 インターネット割り当て番号機関 (IANA) MIME データベース、およびインターネット上の他のパブリック ファイルの種類データベースを調べて、同等のファイルの種類が定義されていないことを確認します。 これは新しいファイル形式であるため、新しいファイルの種類を定義する必要があります。
新しいファイルの種類のファイル名拡張子を定義します。 開発者は、 を
.opa-ltw-audio
選択します。これには、ベンダーの省略形と、ファイルに含まれる内容に関するヒントが組み込まれています。 Research は、拡張機能が他のユーザーによって使用されていないことを判断します。 現在の推奨事項に従って、短い拡張機能は定義されていません。ファイルの種類の MIME の種類を定義し、IANA に登録します。 Litware は、新しい MIME の種類を audio/LitwarePlayer.1 として定義し、コメント要求 (RFC) 番号 2045、2046、2047、および 2048 に記載されているガイドラインに従って、MIME タイプ アプリケーションを準備します。 その後、アプリケーションを IANA に送信します。これにより、登録されている MIME の種類のデータベースに新しいファイルの種類が追加されます。
ファイルの種類に ProgID が存在するかどうかを確認します。 これは新しいファイルの種類であるため、 ProgID は存在しません。 Litware は、LitwarePlayer 用の新しい ProgID の設計について設定します。 フレンドリ名 "LitwarePlayer Audio Player" (LitwarePlayer.exe ファイルにリソースとして格納されます) を決定し、LitwarePlayer に関連付けられているファイルに使用する既定のアイコンを設計します (LitwarePlayer.exeにも格納されます)。 LitwarePlayer は新しいアプリケーションであるため、これはバージョン 1 ProgID です。
ProgID を登録します。 LitwarePlayer がインストールされると、インストール プログラムによってレジストリに次の ProgID エントリが作成されます。
HKEY_CLASSES_ROOT Litware.LitwarePlayer.1 (Default) = LitwarePlayer Audio Player FriendlyTypeName = @LitwarePlayer, -120 CurVer (Default) = Litware.LitwarePlayer.1 DefaultIcon (Default) = LitwarePlayer, -142 shell play command (Default) = "%ProgramFiles%\LitwarePlayer\LitwarePlayer.exe" "%1"
コマンド キーでは、%1 が再生するファイルへのパスとして渡されます。
ファイルの種類のファイル名拡張子を登録します。 LitwarePlayer がインストールされると、インストール プログラムによって、カスタム ファイルの種類の拡張子のレジストリに次のエントリが作成されます。
HKEY_CLASSES_ROOT .opa-vwi-audio (Default) = Litware.LitwarePlayer.1 PerceivedType = Audio Content Type = audio/LitwarePlayer
注意
ファイルの関連付けが作成または変更されるたびに、 SHChangeNotify を呼び出し、SHCNE_ASSOCCHANGED イベントを指定して変更が行われたことをシステムに通知します。 これが行われなければ、システムが再起動するまでシェルは変更を認識しない可能性があります。
その他のリソース
関連トピック