このページの本文へ

前へ 1 2 次へ

Windows Info 第67回

Windows 8方式のファイル関連付けを分析する

2016年08月07日 10時00分更新

文● 塩田紳二 編集● ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

Windows 10における関連付けの変更点

 Windows 10では、基本的な仕組みは同一なのだが、挙動が違っている。まず、アプリが特定の拡張子に対する既定のプログラムを変更することができなくなった。これまで登録されていなかった拡張子(基本的には、そのアプリ固有の拡張子になる)に対しては、従来通り、アプリが拡張子やファイルタイプに対して自身を既定のプログラムとして登録することはできる。

 しかし、すでに拡張子が登録されていて、既定のプログラムが定義されている場合アプリは、既定のプログラムを変更することはできない。インストール時点でアプリができることは、自分自身がすでに登録されている拡張子を扱うことができることだけが登録できる。

 エクスプローラーで該当拡張子を「開く」場合に、既定のプログラムを変更するかどうかのダイアログボックスが表示される。ユーザーは、ここで元からある既定のプログラムを利用するか、インストールしたアプリかを指定することができる。つまり、常にユーザーが明示的に既定のアプリケーションを選択するようになっている。

 また、アプリが起動時に、APIなどで、既定のプログラムを変更使用とした場合、それは実行されず、ユーザーに対して必要ならば、「設定」→「システム」「既定のプログラム」を使って既定のプログラムを変更するようにメッセージを表示する。これは、ユーザーに操作を強いているようだが、実際には、アプリが既定のアプリとして自分自身を登録しようとしているのが阻止され、ユーザーが既定のアプリを変更する必要を感じるなら「手動でしろ」という意味なのである。

 アプリがWindows 8以前の方法でレジストリを書き換えても、Windows 8方式の関連付けが最も優先度が高く、これは、データファイルをダブルクリックしたときに強制的に設定されるため、アプリがWindows 8以前の方式でレジストリを操作して関連付けを定義しても、有効にならない。また、ハッシュ値が計算できないため、ローミング拡張子キーを直接変更することもできない。

 つまり、GUIで操作している間は、レジストリは正しくWindows 8方式に保たれ、Windows 10では、ユーザーが明示的に関連付けを変更できることになる。

 データファイルを扱う「既定のプログラム」に関しては、このように過去、何回も変更があった。このため、手動でレジストリを扱うことはかなり面倒になっている。ただし、前述の優先順位を理解すれば、レジストリのどのキーが有効なのかは判断が可能になる。

 それがわかれば、既定のプログラムになっているアプリのProgIDを編集することで、たとえばデータファイルのアイコンなどを変更することが可能だ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン