网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
用Delphi将IE收藏夹导出为HTML文件
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

Count:要拷贝的字符串个数,代码中为URL文件名长减4,目的是去掉URL文件名的后缀“.URL”;
2、取得的信息保存为HTML文件,并将其设为浏览器首页
为了便于理解,程序中首先将取得的收藏夹信息导入到一个Richedit中,然后加入HTML文件的头尾信息(可以不要)。这样做还有一个好处是可以用户可以直接修改要生成文件的HTML源代码。
导入Richedit的程序代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
pidl: PItemIDList;
FavPath: array[0..MAX_PATH] of char;
begin
SHGetSpecialFolderLocation(Handle, CSIDL_FAVORITES, pidl);
SHGetPathFromIDList(pidl, favpath);
//加入HTML文件头信息
memo1.Lines.Add('''');
memo1.Lines.Add('''');
memo1.Lines.Add('''');
memo1.Lines.Add(''
我的收藏夹
'');
memo1.Lines.Add(''
--------------------------------------------------------------------------------


'');
//取得收藏夹信息
memo1.Lines.add(GetIEFavourites(StrPas(FavPath)).gettext);
//加入HTML文件尾信息
memo1.Lines.Add('''');
button2.Enabled:=true;
showmessage(''代码生成完成!'');
end;

在以上代码中,有两个函数要注意:
(1)SHGetSpecialFolderLocation
此函数的功能是取得系统特定目录的路径;函数如下:
WINSHELLAPI HRESULT WINAPI SHGetSpecialFolderLocation(;
HWND hwndOwner,
int nFolder,
LPITEMIDLIST *ppidl
);
参数解释:
hwndOwner:HWND信息;
nFolder:需要取得的路径的代码,程序中为CSIDL_FAVORITES收藏夹路径;
*ppidl:路径保存指针;
(2)SHGetPathFromIDList
此函数从指针取得路径信息;函数如下:

WINSHELLAPI BOOL WINAPI SHGetPathFromIDList(
LPCITEMIDLIST pidl,
LPSTR pszPath
);
参数解释:
pidl:指针信息,程序中从SHGetSpecialFolderLocation取得;
pszPath:路径保存字符串,程序中为favpath;

3、导出文件,并设置其为浏览器首页
procedure TForm1.Button2Click(Sender: TObject);
var
Reg: TRegistry;
deskpath:string;
begin
//取得桌面路径
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey(''Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders'', false) then
deskpath:=Reg.readString(''Desktop'');
finally
Reg.CloseKey;
Reg.Free;
inherited;
end;
//设为首页
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey(''Software\Microsoft\Internet Explorer\Main'', false) then
Reg.writeString(''Start Page'',deskpath+''\我的收藏夹.htm'');
finally
Reg.CloseKey;
Reg.Free;
inherited;
end;
//将文件导出到桌面
memo1.Lines.SaveToFile(deskpath+''\我的收藏夹.htm'');
showmessage(''文件导出完成!'');
end;

以上代码从注册表获得Windows桌面路径,然后输出文件,并将此文件设置为浏览器首页。设置为浏览器首页的实现就是修改注册表:“HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main”中的键值“Start Page”就可以了。

三、总结与启示
看了以上代码,我们可以得到一些编程思路如:遍历文件,读写注册表等。如果仔细想想,我们还可以发现怎样将一个网址直接加入收藏夹的思路!

完全源代码:
unit UFav2HTML;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,ShlObj,shellapi,Registry;

type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
procedure Button1Click(Sender: TObject);
function GetIEFavourites(const favpath: string): TStrings;
procedure B

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号