//创建菜单 procedure Tfrm_MainForm.FindWebFavorites; var WindowDirChar:Array[0..MAX_PATH] of Char; WindowDir :String; Begin GetWindowsDirectory(WindowDirChar,MAX_PATH); //我这里取的系统目录,准确的应在注册表中取得 WindowDir :=StrPas(WindowDirChar); if WindowDir[Length(WindowDir)]<>'\' then WindowDir :=WindowDir +'\'; WindowDir :=WindowDir +'Favorites'; FavoritesMenuItem.Clear; //菜单 CreateFavoritesMenu(WindowDir,FavoritesMenuItem); End;//读取URL文件内容 function Tfrm_MainForm.GetUrlFileURL(FilePath,FileName:String):String; Var IniFile:TIniFile; Begin IniFile:=TIniFile.Create(FilePath+'\'+FileName); Result :=IniFile.ReadString('InternetShortcut','URL','about:blank'); IniFile.Free; End;//以下是递归取得收藏的所有目录和URL procedure Tfrm_MainForm.CreateFavoritesMenu(Const WorkDir:String;Var MenuItem:TMenuItem); Var SearchRec:TSearchRec; FWorkDir:String; SubMenuItem:TMenuItem; begin FWorkDir :=WorkDir; if (FindFirst(FWorkDir +'\*.*', faDirectory,SearchRec)=0) then begin repeat if (SearchRec.Attr and faDirectory = faDirectory) then Begin if (SearchRec.Name <>'.')and (SearchRec.Name <>'..') then begin SubMenuItem:=TMenuItem.Create(Self); SubMenuItem.Caption :=SearchRec.Name; MenuItem.Add(SubMenuItem); //子目录 CreateFavoritesMenu(FWorkDir+'\'+SearchRec.Name,SubMenuItem); end; end; until FindNext(SearchRec) <> 0; End; FindClose(SearchRec); if (FindFirst(FWorkDir +'\*.*', faDirectory,SearchRec)=0) then begin repeat if (SearchRec.Attr and faDirectory <> faDirectory) then Begin SubMenuItem:=TMenuItem.Create(MenuItem); SubMenuItem.Caption :=Copy(SearchRec.Name,1,Length(SearchRec.Name)-4); if Length(SubMenuItem.Caption) >25 then SubMenuItem.Caption :=Copy(SubMenuItem.Caption,1,25)+'...'; SubMenuItem.Hint :=GetUrlFileURL(FWorkDir,SearchRec.Name); SubMenuItem.OnClick :=MenuItem_FaClick; MenuItem.Add(SubMenuItem); end; until FindNext(SearchRec) <> 0; End; FindClose(SearchRec);End; //菜单单击事件处理 procedure Tfrm_MainForm.MenuItem_FaClick(Sender: TObject); begin // if ActiveMDIChild = nil then // Action_NewExecute(nil); // Tfrm_Explorer(WindowList.Items[GetChildFormListNumber(ActiveMDIChild.Tag)]). WebBrowser.Navigate((Sender As TMenuItem).Hint); end;
[InternetShortcut]
URL=http://www.yes-xxx.com/
Modified=C0D16FDBC9FBBF015F
名称按文件名,URL地址就是其中内容
procedure Tfrm_MainForm.FindWebFavorites;
var
WindowDirChar:Array[0..MAX_PATH] of Char;
WindowDir :String;
Begin
GetWindowsDirectory(WindowDirChar,MAX_PATH); //我这里取的系统目录,准确的应在注册表中取得
WindowDir :=StrPas(WindowDirChar);
if WindowDir[Length(WindowDir)]<>'\' then WindowDir :=WindowDir +'\';
WindowDir :=WindowDir +'Favorites';
FavoritesMenuItem.Clear; //菜单
CreateFavoritesMenu(WindowDir,FavoritesMenuItem);
End;//读取URL文件内容
function Tfrm_MainForm.GetUrlFileURL(FilePath,FileName:String):String;
Var
IniFile:TIniFile;
Begin
IniFile:=TIniFile.Create(FilePath+'\'+FileName);
Result :=IniFile.ReadString('InternetShortcut','URL','about:blank');
IniFile.Free;
End;//以下是递归取得收藏的所有目录和URL
procedure Tfrm_MainForm.CreateFavoritesMenu(Const WorkDir:String;Var MenuItem:TMenuItem);
Var
SearchRec:TSearchRec;
FWorkDir:String;
SubMenuItem:TMenuItem;
begin
FWorkDir :=WorkDir;
if (FindFirst(FWorkDir +'\*.*', faDirectory,SearchRec)=0) then
begin
repeat
if (SearchRec.Attr and faDirectory = faDirectory) then
Begin
if (SearchRec.Name <>'.')and (SearchRec.Name <>'..') then
begin
SubMenuItem:=TMenuItem.Create(Self);
SubMenuItem.Caption :=SearchRec.Name;
MenuItem.Add(SubMenuItem); //子目录
CreateFavoritesMenu(FWorkDir+'\'+SearchRec.Name,SubMenuItem);
end;
end;
until FindNext(SearchRec) <> 0;
End;
FindClose(SearchRec); if (FindFirst(FWorkDir +'\*.*', faDirectory,SearchRec)=0) then
begin
repeat
if (SearchRec.Attr and faDirectory <> faDirectory) then
Begin
SubMenuItem:=TMenuItem.Create(MenuItem);
SubMenuItem.Caption :=Copy(SearchRec.Name,1,Length(SearchRec.Name)-4);
if Length(SubMenuItem.Caption) >25 then
SubMenuItem.Caption :=Copy(SubMenuItem.Caption,1,25)+'...';
SubMenuItem.Hint :=GetUrlFileURL(FWorkDir,SearchRec.Name);
SubMenuItem.OnClick :=MenuItem_FaClick;
MenuItem.Add(SubMenuItem);
end;
until FindNext(SearchRec) <> 0;
End;
FindClose(SearchRec);End;
//菜单单击事件处理
procedure Tfrm_MainForm.MenuItem_FaClick(Sender: TObject);
begin
// if ActiveMDIChild = nil then
// Action_NewExecute(nil);
// Tfrm_Explorer(WindowList.Items[GetChildFormListNumber(ActiveMDIChild.Tag)]).
WebBrowser.Navigate((Sender As TMenuItem).Hint);
end;