Favoritesのファイルの情報を取得するには?

解決


武田  2005-06-02 17:11:53  No: 15295  IP: 192.*.*.*

皆様お世話になっています。次の件をご指導下さいませんか。
お気に入りフォルダFavoritesにあるファイルをFindFirst,FindNextで検索して、ファイル名はともかくURLを取り出すことは可能でしょうか。
TreeViewから取得する例はあるのですが、TreeViewに開かず、直接取得する手段がありましたらお願い致します。
目的はFavorites中のファイルのファイル名とURLをテキストファイルに取り出したいのです。
よろしくお願い致します。m(__)m

編集 削除
見ちゃイヤん  2005-06-02 17:30:19  No: 15296  IP: 192.*.*.*

Favoritesファイルはテキストファイル。中を覗いて見れば、URLは一目瞭然。

[InternetShortcut]
URL=http://〜〜
Modified=00013334EC66C50180

編集 削除
武田  2005-06-03 12:48:25  No: 15297  IP: 192.*.*.*

見ちゃイヤんさん、早速ご指導ありがとうございました。
いや〜、今の今までインターネットショートカットがテキストファイルとは知りませんでした。なんだか気味の悪いファイルだなと思っていました。
他のデスクトップなどにあるショートカットは、メモ帳では見えないバイナリー?ファイルなのですね。

ちょうど、書き方がInitファイルみたいになっているんですね。
今世紀最大の発見です。ありがとうございました。
できましたら、Modified=  は、何を意味しているのでしょうか教えて頂ければ幸いです。
ありがとうございました。

編集 削除
にしの  2005-06-03 13:22:59  No: 15298  IP: 192.*.*.*

googleなどで検索するとすぐに見つかりますよ。
FILETIME+checksumらしいですね。

編集 削除
CHECKSUMはムシ  2005-06-03 16:33:25  No: 15299  IP: 192.*.*.*

>Modified=00013334EC66C50180
これをDateTime(日本時間)に直すと、…

procedure TForm1.Button1Click(Sender: TObject);
var
  FT: TFileTime;
  ST: TSystemTime;
begin
  FT.dwLowDateTime  := ntohl(StrToInt('$00013334'));
  FT.dwHighDateTime := ntohl(StrToInt('$EC66C501'));
  FileTimeToSystemTime(FT, ST);
  Edit1.Text := DateTimeToStr(SystemTimeToDateTime(ST) + 9/24);
end;

編集 削除
武田  2005-06-03 19:42:55  No: 15300  IP: 192.*.*.*

見ちゃイヤんさん、にしのさん、 CHECKSUMはムシ さん、ありがとうございました。
var
  SearchRec: TSearchRec;
  URLFile:TIniFile;
  strURL:string;
begin
URLFile := TIniFile.Create(FindPath + '\' + SearchRec.Name);
            strURL := URLFile.ReadString('InternetShortcut','URL','');

編集 削除
武田  2005-06-03 19:46:47  No: 15301  IP: 192.*.*.*

見ちゃイヤんさん、にしのさん、 CHECKSUMはムシ さん、ありがとうございました。
入力途中で送信されました。失礼しました。
var
  SearchRec: TSearchRec;
  URLFile:TIniFile;
  strURL:string;
begin
  URLFile := TIniFile.Create(FindPath + '\' + SearchRec.Name);
  strURL := URLFile.ReadString('InternetShortcut','URL','');
  FileList.Append(SearchRec.Name+','+strURL);
で検索しながら取得できました。
ありがとうございました。

編集 削除