お気に入りリストの把握


やよい  2008-09-05 11:32:13  No: 31864  IP: 192.*.*.*

インターネットエクスフローラのお気に入りのリストを取得したいのですが?
例えばメニューバーに作成し、クリックするとURLを把握でき、WebBrowserへ
反映するような事は、可能でしょうか?

よろしくお願いします。

編集 削除
igy  2008-09-05 12:36:53  No: 31865  IP: 192.*.*.*

>インターネットエクスフローラのお気に入りのリストを取得したいのですが?

レジストリ
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders

Favoritesの値
で、どうですか?

編集 削除
m.a.  2008-09-06 06:27:57  No: 31866  IP: 192.*.*.*

私も作ったことがあります。

  流れとしては、
(1)お気に入りフォルダの位置を取得
(2)その中のファイルやフォルダの名前をリストアップする。
(3)そのファイル構造にしたがって、TMenuItemを動的生成する。

ということになるかと思います。

メニュークリック時には、
(1)対応するショートカットのファイルをIniファイルとして開き、
  [InternetShortcut]セクションのURLの項目を取得
  (テキストエディタで、IEのお気に入りに並んでいる
  ショートカットを開いてみてください。意味が分かると思います。)
(2)そのURLをWebBrowserに表示する

でOKです。

  まずやってみて、できないところがあれば、もっと具体的な
形で質問すると回答も付きやすいと思いますよ。

編集 削除
おも  2008-09-08 22:07:18  No: 31867  IP: 192.*.*.*

m.a.さん、すみません。便乗質問です。

私も同じようなもので、クリックするとIEで開くものを作ったことがあります。

var
  sURL:String;
  IniF:TIniFile;
begin
    IniF:=TIniFile.Create(sFileName);
    sURL:=IniF.ReadString('InternetShortcut','URL','');
    IniF.Free;

で、URLを取得しましたが、ショートカットのプロパティで見ると、表示回数もありますよね。これが欲しくて、いろいろ情報を集めました。その際に、

>>テキストエディタで、IEのお気に入りに並んでいる
  ショートカットを開いてみてください。

と同じ情報にいきつきました。しかし、たとえば、NotePadでショートカットを開くとURL指定先のページのテキストベースの情報が表示されます。

中身を見れたら、表示回数に関するキーワードもわかると思ったのですが、簡単と思われるテキストエディタで開くことができませんでした。

未解決のままにしておりましたが、このスレを見て思い出し、今、また、NotePadで開いてみましたが同じです。たぶん、簡単なことなのだとは思いますが、iniファイルの構造で開くにはどうしたらよいのでしょうか?

よろしくお願いします。

環境による違いはないと思いますが、念のため、OSはWin2000です。

編集 削除
おも  2008-09-09 20:07:54  No: 31868  IP: 192.*.*.*

GetUrlCacheEntryInfoを使用して表示回数を取得することはできました。

編集 削除