2007年3月5日月曜日

関連付け(fileassociation)

拡張子.mp3のファイルをダブルクリックすると、起動するプログラムを変更するには、どのような方法があるのでしょうか。WindowsXPでは、ユーザーごとの設定ができるので、レジストリの設定も複雑になっています。

http://sgry.sakura.ne.jp/articles/fileassociation.html

ここでは以下の4つの方法を検討します。

  1. アプリケーションから拡張子を指定をする。
  2. フォルダオプションの変更ボタンを使用する。
  3. フォルダオプションの詳細設定ボタンを使用する。
  4. レジストリでPerceivedTypeを使用する。

1.アプリケーションから拡張子を指定をする。

  • WindowsMediaPlayerの「ツール」の「オプション」にある「ファイルの種類」
  • RealPlayerの「環境設定」の「メディアの種類」
  • QuickTimeの「設定」の「ファイルの種類」
  • MediaPlayerClassicの「オプション」の「関連付け」
  • foobar2000の「Preferences」の「FileType」

この場合、以下の点にも注意を払う必要があります。

  • RealPlayerの「メディアの種類」では以下のチェックをはずしておきます。
    • 「RealPlayerをユニバーサルメディアプレイヤーにする。」
    • 「RealPlayerの起動時に、毎回メディアの種類の設定を再適用する。」
    • 「RealPlayerメディアブラウザでメディアをクリックしたときにはRealPlayerで再生する。」
  • QuickTimeの「設定」では、「関連付けが変更されたら知らせる」のチェックをはずす。
  • iTunesの「設定」では、「詳細」タブの「一般」タブで「iTunesをオーディオファイルの既定のフレーヤーとして使用する」のチェックをはずす。

ページの先頭へ

2.フォルダオプションの「変更」ボタンを使用する。

  • ここで出てくるダイアログは、ファイルの右クリックで現れるコンテキストメニューの「プログラムから開く」の「プログラムの選択」と同じ物です。

  • HKEY_CURRENT_USER\Software\Microsoft\Windows
    \CurrentVersion\Explorer\FileExts\.mp3
  • ここのApplicationの値にプログラムが登録されます。
  • 拡張子に対して直接プログラムを指定することができます。
  • ユーザーごとの設定で、他の設定より先んじて、最も優先される設定です。

ページの先頭へ

3.フォルダオプションの「詳細設定」ボタンを使用する。

  • HKEY_CLASSES_ROOT\mp3file\shell\open\command
  • 拡張子.mp3に対してファイルの種類mp3fileが設定される。
  • ファイルの種類のmp3fileに対して、アクションプログラムを設定する。
  • 設定はファイルの種類のmp3fileの全ての拡張子に適用される。
  • ファイルの関連付けは、shellキーに設定される。
  • アクションには、open(開く)やedit(編集)やprint(印刷)がよく使われる。
  • プログラムの設定には、commandやDropTargetが使われる。
  • commandはプログラムのパス、DropTargetはclsidで指定する。
  • commandとDropTargetがある場合は、DropTargetが優先される。

ページの先頭へ

4.レジストリでPerceivedTypeを使用する。

  • HKEY_CLASSES_ROOT\SystemFileAssociations\audio
  • 拡張子.mp3に対してPerceivedTypeとしてaudioが設定される。
  • PerceivedTypeのaudioに対して、アクションプログラムを設定する。
  • ひとつの設定が、PerceivedTypeにaudioを持つ全ての拡張子に適用される。
フォルダオプションを開く2つの方法
  1. ファイル名を指定して実行で「rundll32.exe shell32.dll,Options_RunDLL 0」を指定します。
  2. エクスプローラの「ツール」にある「フォルダオプション」を指定します。
拡張子を表示する設定。
エクスプローラで拡張子を表示するには、次の設定を行います。
「フォルダオプション」の「表示」タブの「詳細設定」で、「登録されている拡張子は表示しない」のチェックをはずします。
HKEY_CLASSES_ROOT
  • レジストリを開くと一番最初に表示されるキーです。
  • HKEY_LOCAL_MACHINE\SOFTWARE\Classesとミラーリングされています。
  • 「.」で始まる拡張子、ファイルの種類、Applications、CLSIDが登録されています。

たとえば、HKEY_CLASSES_ROOT\.mp3を開いてみると

  • 既定値がmp3file
  • Content Typeがaudio/mpeg
  • PerceivedTypeがaudio

それぞれ次のキーが対応しているのと思われる。

  • HKEY_CLASSES_ROOT\mp3file
  • HKEY_CLASSES_ROOT\MIME\DataBase\Content Type\audio/mpeg
  • HKEY_CLASSES_ROOT\SystemFileAssociations\audio

ページの先頭へ

0 件のコメント: