Windows Vista では、関連づけの設定方法が、今までの OS と互換性がなくなりました。
今までは、関連づけは、全てのユーザーで共有されていたのが、(※)
Vista では、ユーザーごとに管理できるようになりました。
アプリケーションで、関連づけを行なうには、次の2段階の手順が必要となります。
1.アプリケーションのプログラムIDをレジストリに登録
ここで、プログラムIDは、根幹となるもので、昇格が必要となる、HKEY_CLASSES_ROOT に
情報を追加する必要があります。ここですべてのユーザーに対して既定のアプリケーション
として登録してしまうこともできるようですが、Vista では推奨されないそうです。
このプログラムIDをレジストリに追加する事で、「スタート」→「既定のプログラム」
で、アプリケーションの一覧に、指定のアプリケーション名を表示させることができ、
ユーザーに選んでもらうことが可能になります。
2.ユーザーごとに、既定のアプリケーションを選択させる
プログラムIDが登録されていれば、IApplicationAssociationRegistration を使って
既定のプログラムを変更することができるようになります。
※IApplicationAssociationRegistration(なげぇよ)は最新の SDK に含まれている
ので、手元の SDK に含まれていない時は、最新のSDKをダウンロードしてください。
続く...
※2007/02/14 とっちゃんさんご指摘により、Windows2000 以降で既にマシンごと・
ユーザーごとに設定を分けて保存できたとのことで、一部修正しました。
[Vista] 関連づけ設定(2)