Windows7での関連付けがやっかい

Windows7になって勝手がわからなくなったものに関連付けがあります。といっても、関連付け自体は「既定のプログラム」から「設定はできる」のですが・・・

以下の作業にはレジストリの操作があるため、操作で失敗しても自己責任でお願いします。

関連付けが削除できない!

Windows7の関連付けはそのままでは削除できません。何かユーティリティのようなものがあるのかもしれませんが・・・。

私の場合はレジストリエディタを駆使してなんと解除しました。

レジストリ上の

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\(対象拡張子)

に関連付けの設定がありますのでそれをさくっと削除しちゃいましょう。

Windows Media Playerへの関連付けと関連付け削除はさらにやっかい

単に関連付けするだけなら開けないファイルをエクスプローラから開こうとして関連付けを設定すれば完了なのですが、

この方法で関連付けをすると、

  • 関連付けされた拡張子のアイコンは変更できない(簡単に探せる場所にはありませんでした)
  • 対象のファイルの種類をエクスプローラでみるとこの方法の関連付けがすべて「Windows Media Player」とついている

と、なんか気分が悪い関連付けのされ方をしているのが問題です。

これを解消するには自分で関連付けを作ってしまうのが簡単だと思います。

たとえばoggファイルをWindows Media Playerに関連付けしたい場合は、以下のようなレジストリファイルを使用して組み込みます。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.ogg]
@="oggfile"
"PerceivedType"="audio"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\oggfile]
@="OGG Audio File"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\oggfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,77,00,6d,00,\
70,00,6c,00,6f,00,63,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,37,00,33,00,30,\
00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\oggfile\shell]
@="Play"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\oggfile\shell\play]
@="再生(&P)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\oggfile\shell\play\command]
@=hex(2):22,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,\
00,65,00,73,00,28,00,78,00,38,00,36,00,29,00,25,00,5c,00,57,00,69,00,6e,00,\
64,00,6f,00,77,00,73,00,20,00,4d,00,65,00,64,00,69,00,61,00,20,00,50,00,6c,\
00,61,00,79,00,65,00,72,00,5c,00,77,00,6d,00,70,00,6c,00,61,00,79,00,65,00,\
72,00,2e,00,65,00,78,00,65,00,22,00,20,00,2f,00,70,00,72,00,65,00,66,00,65,\
00,74,00,63,00,68,00,3a,00,39,00,20,00,2f,00,50,00,6c,00,61,00,79,00,20,00,\
22,00,25,00,31,00,22,00,00,00

なお、commandの値ですが、私の場合はWin7 64bitからWMP 32bitを呼び出している形なのでcommandはこの値になっています。

Win7 64bitからWMP 64bitもしくはWin7 32bitからWMP 32bitなら

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\oggfile\shell\play\command]
@=hex(2):22,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,\
00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,\
4d,00,65,00,64,00,69,00,61,00,20,00,50,00,6c,00,61,00,79,00,65,00,72,00,5c,\
00,77,00,6d,00,70,00,6c,00,61,00,79,00,65,00,72,00,2e,00,65,00,78,00,65,00,\
22,00,20,00,2f,00,70,00,72,00,65,00,66,00,65,00,74,00,63,00,68,00,3a,00,39,\
00,20,00,2f,00,50,00,6c,00,61,00,79,00,20,00,22,00,25,00,31,00,22,00,00,00

と書いてください。

アイコンの変更は[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\(対象拡張子)\DefaultIcon]をちょっといじると

再起動したときには直っていますので、[HKEY_LOCAL_MACHINE\SOFTWARE\Classes]にあるほかの拡張子の関連付けをみながらアイコンを選んでください。

そしてさらに制約として、

  • Windows Media Playerでファイルを強制的に開いたときに「今後、この拡張子(対象拡張子)の再生について確認しない」にチェックをする
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Player\Extensions]以下にファイルを開く設定がある
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\(対象拡張子)]にWindows Media Playerで扱うファイル情報がある

のいずれかを行わなければWindows Media Playerはファイルをメディアとして扱ってくれません。面倒ですね。

こんな苦労をする位なら、フリーのプレーヤーを使った方が早いような気がするのがたぶん気のせいではないです。

逆にWindows Media Playerに間違って関連付けをしたものを削除するときには、上記の場所だけではだめな場合もあります。そういうときは

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\(対象拡張子)]

といった場所のレジストリも一緒に削除しないとだめなこともあるようです。

通常は削除なくても関連付けはなくなると思いますが。

もちろん、関連付けしたところでcodecが入っていなければ再生はできません。

DirectShowを使って再生できると保証があるものだけしてください。

という小ネタでした。はい。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この記事のトラックバック用URL