連絡先 Hikwareホーム
Hikware.Tech
自分用の覚え書きをそのまま公開。参考程度にどうぞ。

ブラウザが作ったインターネットショートカットを読み込む

公開日 2017/08/17
最終更新 2017/08/20
  • ブラウザからドラッグ&ドロップ等で作ったインターネットショートカットファイルから、URLとページタイトルを取得。

インターネットショートカットのこと

  • .url と .website の2種類ある。IE9以降の IE は .website 形式、それ以外のブラウザは .url 形式。Edge は .website を継いだのかと思いきや、そもそもインターネットショートカットが作れなくなった模様。ホント身勝手。

  • .url, .website 両形式ともテキストファイルで、旧来のiniファイルそのもの。公式の仕様書は見つけられなかったが、どちらも最低限、以下の書式でURLが含まれている。

    [InternetShortcut]
    URL=ショートカットのURL
    
  • ページタイトルは .url 形式には含まれてないので、ファイル名をページタイトルと見なすしかない。.website 形式にはページタイトルも含まれるようだが仕様不明。そもそもIE限定の形式に今さら頼る気なし。

  • 【オマケ】.url, .website の拡張子はエクスプローラでは断固として表示されない。
    上記2行を書いたテキストファイルを作成し、拡張子を .url に変更すれば手作業でショートカットを作れるが、以後、他の拡張子に変更できなくなる。

結論

URL

ファイルをiniファイルとして開いて取得。iniファイルの読み込み方は 別記事にて

ページタイトル

ファイル名から拡張子を省いた物をタイトルとするしかない。

var title = System.IO.Path.GetFileNameWithoutExtension( "ファイル名" );

ファイル名なので、ファイル名に使用不可の文字( \ / " : * ? など)は省かれてしまうし、長すぎるとブツ切られるが、まあどうしようもない。