抓取IE中我的最愛的內容到TreeView內 |
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
將http://delphi.ktop.com.tw/board.php?cid=30&fid=67&tid=23397這篇文章的Delphi語法修改成BCB用。
但是尚未優化過,且加入Treeview功能,請各位參考跟指教。 [code cpp] #define NO_WIN32_LEAN_AND_MEAN #include "shlobj.h" void __fastcall TFormt::GetIEFavorites(TTreeNode *node,AnsiString FavPath) { char Buffer[2048]; int iFound,i,iSize; AnsiString Dir,FileName,Path; TSearchRec SearchRec; TStringList *Links = new TStringList(); TTreeNode *child,*n; Path = FavPath "\\*.*"; Dir = ExtractFilePath(Path); iFound = FindFirst(Path, faAnyFile ,SearchRec); while ( iFound == 0) { FileName = Dir SearchRec.Name; iSize = GetPrivateProfileString("InternetShortcut", "URL", NULL, Buffer, sizeof(Buffer), FileName.c_str()); FileName = ""; for ( i = 0 ; i < iSize ; i ) FileName = Buffer[i]; if ((SearchRec.Attr == faDirectory) && (SearchRec.Name[1] != '.')) { child = TreeView1->Items->Add(node,SearchRec.Name); child->ImageIndex = 0; child->SelectedIndex = 0; GetIEFavorites(child , Dir SearchRec.Name); } else if (SearchRec.Attr == 32) { n = TreeView1->Items->AddChild(node,FileName "(" ChangeFileExt(SearchRec.Name,"") ")"); n->ImageIndex = 1; n->SelectedIndex = 1; } iFound = FindNext(SearchRec); }; FindClose(SearchRec); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { LPITEMIDLIST pidl; LPMALLOC pShellMalloc; char szDir[MAX_PATH]; if(SUCCEEDED(SHGetMalloc(&pShellMalloc))) { if( SUCCEEDED(SHGetSpecialFolderLocation(NULL,CSIDL_FAVORITES,&pidl)) ) { // 如果成功返回true if(SHGetPathFromIDList(pidl,szDir)) { GetIEFavorites(NULL,szDir); } pShellMalloc->Free(pidl); } pShellMalloc->Release(); } [/code] |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |