Programming Windows Maniacs - プログラミング ウィンドウズ マニアックス ■ ご利用に際して ■ 更新履歴 ■ お問い合わせ ■ このホームページについて  
ホーム >> シェル >> 拡張子の関連付けをWebで探す機能のURLを変更するには

拡張子の関連付けをWebで探す機能のURLを変更するには

  Windowsでは、拡張子が不明なものを開こうとした際、「Webサービスを使用して適切なプログラムを探す」ためのダイアログが表示されます。
  このURLを変更し、独自の拡張子登録Webサービスと結びつけることが可能です。

  これは、レジストリの変更とWebサービスを作成することにより可能です。

  拡張子が不明な際に開かれるURLは、下記レジストリに記載されています。

  ルートキー: HKEY_LOCAL_MACHINE
  サブキー: Software\Microsoft\Windows\CurrentVersion\Explorer\Associations
  値の名前: intl
  値の種類: REG_SZ

  値には、言語IDと拡張子をGETでWebページに渡すことができるように記載する必要があります。

   Windows XPのデフォルトは、
      http://shell.windows.com/fileassoc/fileassoc.asp?LangID=%04x&Ext=%s
のようになっています。
  つまり、http://shell.windows.com/fileassoc/fileassoc.aspというページに、
        LangID言語を示す4桁の16進数を渡し(日本語では0411になります)、
        Ext拡張子を示す文字列を送ってWebを表示する
ということになります。
  このLangIDとExtを示す値を記載する欄さえあれば、どんなURLでも可能です。

  たとえば、intlの値を
      http://127.0.0.1/ext.php?LangID=%x&Ext=%s
のようにすると、
  http://127.0.0.1/ext.phpに、
        桁数は合わせず言語IDを渡し(日本語では411になります)、
        拡張子を示す文字列を問い合わせできます。

  IIS・ASP・Access、Apache・PHP・PostgreSQLのような組み合わせで拡張子問い合わせサーバを作成してみてください。
  拡張子の問い合わせが独自データベースで行えるようになります。

  Microsoftはこの「Windows File Association」サービスに力を入れていないので、このサービスを独自に製作すれば乗っ取れるかもしれません!

※ J-WORD社のサービスは「URLの自動変換」ですが、似たような思想のサービス例ですね。

  ■ ご利用に際して ■ 更新履歴 ■ お問い合わせ ■ このホームページについて Copyright © 2014 A.Morita