.urlファイルのアイコン(favicon)

Windowsだと、お気に入りに登録すると.urlファイル(インターネットショーカット)というものが作成されて、エクスプローラー上から見るとfavicon.icoがアイコンになっているのですが、このアイコン画像をどこからどうやって取ってくるのか分かりません・・。
登録時にfaviconを取得して、どこかに保存しているの思うのですが・・、毎回ウェブからとってきているってことはないと思うのですが、とってきているのでしょうか・・。Windowsがとってきて保存しているなら、それを使いたいのですが、もう自分でとるか・・・というか、こんな機能あとでいいか。

Windows、なかなか分からないです。UNIXのmanはよくできています。

  • 追記

『Temporary Intenet Files』ディレクトリ配下に保存されているキャッシュから取得しているようです。.urlの中で指定してるものもあります。指定されているものについては、『ExtractIcon』で取得すればいいのですが、『Temporary Intenet Files』は特殊なディレクトリのようで、同名ファイルが入っていてそれを『インターネットアドレス』という属性でサブディレクトリ的に扱っているようで、DOSプロンプトから見ると、そもそも『Temporary Intenet Files』というディレクトリ自体が存在しません。
次はここへのアクセス方法です・・。

  • 追記

DOSプロンプトから見えないのは隠しファイルだからで、/Aオプションをつけると、『Temporary Intenet Files』というフォルダはありました。その配下に『Content.IE5』というディレクトリがあって、その下がハッシュテーブルのようになっているみたいですが、よくみると『Content.IE5』直下に『index.dat』というどうみてもインデックスファイルなものがあり、テキストエディタで開くと『Client UrlCache MMF Ver 5.2』とマジックが入っています。もう少し!

  • 追記

『Client UrlCache MMF Ver 5.2』ウィルス説浮上!
(・∀・)ゥィルスー!!

  • 追記

「index.dat」の検索結果 - 適宜覚書はてな異本ここに説明が。データを見ると、どうもHTTPのレスポンスごと保存されているようです。なるほど、こうすると、インターネット側と同じ処理で、キャッシュを読めますねと。今日は終了です。次は、これを読むAPIがないか探してなければ、作ります。

  • 関連メモ

Reading the Internet Explorer Cache - CodeProject
完璧っぽいがメンバにならないとDLできないけど、構造体がうれしい。
Reverse Engineering Index.dat
読みづらいからまだ。
HTTP::Cookies::Microsoft
Perl。これが一番わかりやすそう。