線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1066
推到 Plurk!
推到 Facebook!

抓取IE中我的最愛的內容到TreeView內

 
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-06-23 13:40:10 IP:59.120.xxx.xxx 訂閱
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]

系統時間:2024-04-27 1:08:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!