全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1605
推到 Plurk!
推到 Facebook!

請問如何抓取IE中我的最愛的內容。

答題得分者是:hagar
pcernet
初階會員


發表:69
回覆:113
積分:41
註冊:2002-11-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-11-29 16:29:22 IP:61.218.xxx.xxx 未訂閱
請教各位,如何抓取IE中我的最愛的內容,謝謝。
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-11-29 17:16:17 IP:202.39.xxx.xxx 未訂閱
參考這篇: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=20866 其中一項可以取得我的最愛的目錄所在。    -- Everything I say is a lie.
pcernet
初階會員


發表:69
回覆:113
積分:41
註冊:2002-11-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-11-29 22:46:26 IP:61.218.xxx.xxx 未訂閱
感謝hagar的熱心。 但是從目錄直接抓取檔名的方式並不理想,最主要的是檔名都是URL格式,不利於TWebBrowser執行,我試者使用 1.取得組織我的最愛的方式LoadLibrary(PChar('shdocvw.dll')) 2.增加我的最愛的方式{64AB4BB7-111E-11D1-8F79-00C04FC2FBE1} 都無法順利取得我的最愛中的標題和網址,敬請您指教,謝謝。
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-11-30 00:02:17 IP:202.39.xxx.xxx 未訂閱
參考底下這篇, 看看是不是您要的: How do I get Internet Explorer's Favorites?    Accessing Internet Explorer favorites is not hard  since they are nothing more than files and folders.  All you have to basically do is find the IE Favorites  folder, then read it's structure and file list. Once  this is done you will need to read the URL that's in  each of the files. Sounds easy? You can always use  the code below... ;-> 
function GetIEFavorites(const Path: string): TStrings;
var
  Buffer   : array[0..2047] of Char;
  iFound   : Integer;
  Dir, FileName,
  Path     : string;
  SearchRec: TSearchRec;
  Links    : TStrings;
begin
  Links := TStringList.Create;
  // Get all file names in the favourites path
  Path  := FavPath   '*.url';
  Dir   := ExtractFilepath(Path);
  iFound := FindFirst(Path, faAnyFile, searchrec);
  while iFound = 0 do begin
    // Get now URLs from files
    Setstring(FileName, Buffer, GetPrivateProfilestring('InternetShortcut',
      PChar('URL'), nil, Buffer, SizeOf(Buffer), PChar(Dir   SearchRec.Name)));
    Links.Add(FileName);
    iFound := FindNext(SearchRec);
  end;
  // Find subfolders
  iFound := FindFirst(Dir   '*.*', faAnyFile, searchrec);
  while iFound = 0 do begin
    if ((SearchRec.Attr and faDirectory) > 0) and (SearchRec.Name[1] <> '.') then
      Links.Addstrings(GetIEFavorites(dir   ''   SearchRec.Name));
    iFound := FindNext(searchrec);
  end;
  FindClose(SearchRec);
  Result := Links;
end;
...
procedure FreePidl(pIDL: PItemIDList);
var
  Allocator: IMalloc;
begin
  if Succeeded(SHGetMalloc(Allocator)) then begin
    Allocator.Free(pIDL);
  {$ifdef VER100}
    Allocator.Release;
  {$endif}
  end;
end;
...
var
  FavPath: array[0..MAX_PATH] of Char;
  pIDL   : PItemIDList;
begin
  if Succeeded(ShGetSpecialFolderLocation(Handle, CSIDL_FAVORITES, pIDL)) then begin
    if ShGetPathfromIDList(pIDL, FavPath) then
      ListBox1.Items := GetIEFavourites(StrPas(FavPath));
    // We are responsible for freeing the PItemIDList pointer with the
    // Shell's IMalloc interface
    FreePIDL(pIDL);
  end;
end;
-- Everything I say is a lie.
pcernet
初階會員


發表:69
回覆:113
積分:41
註冊:2002-11-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-11-30 11:31:57 IP:61.218.xxx.xxx 未訂閱
萬分感激,這就是我所找的資料,謝謝。
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-11-30 13:04:00 IP:61.221.xxx.xxx 未訂閱
pcernet 大大 你忘記選擇回應的分數ㄛ hagar 大大 已經快 滿100分了 記的幫回應者加分 才是 轉述 ******************************************************************* RaynorPao 版主 針對「無人回應」而且又已經拖很久的「問題」 請參考「總績分制度」中的說明結案 而針對已經「有人回應」的問題 如果對答案「滿意」的話~~請選一位會員給分 如果對答案「不滿意」的話~~也可以「從缺」結案 另外~~給所有網友一個建議 在這裡發問的所有會員們 請以「感恩」的心~~對待答題前輩們提供的答案 這些答案~~都是所有答題前輩們以前花費 幾小時、幾天、幾星期...甚至幾個月才得到的研究成果 而發問者卻只要短短的幾分鐘就可以得到答案 因此~~適當的鼓勵「答題者」的善意,絕對是必要的 而且,也才能在往後形成「良性循環」 讓更多的答題前輩~~願意貢獻他們寶貴的知識 ******************************************************************* 哈哈 下一個金牌得主 hagar 大大 發表人 - jackkcg 於 2002/11/30 13:05:02
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
moli1943
一般會員


發表:9
回覆:18
積分:5
註冊:2003-07-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-09-16 11:14:51 IP:202.39.xxx.xxx 未訂閱
對不起, 最近也在找如何抓取我的最愛的內容, 但我是用BCB寫的, 是不是有前輩可以將hagar版主第二次回應的程式改為BCB語法, 以嘉惠不懂Deiphi語法的同學, 謝謝
系統時間:2024-05-06 15:32:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!