谁能解释一下这两段Dephi代码(作用:打开IE添加收藏和管理收藏夹对话框)的原理,并将其翻译为C++ Builder语言,多谢了!!!

abedon 2000-06-06 03:23:00
谁能解释一下这两段Dephi代码(作用:打开IE添加收藏和管理收藏夹对话框)的原理,并将其翻译为C++ Builder语言,多谢了!!!


const
CLSID_ShellUIHelper: TGUID = '{64AB4BB7-111E-11D1-8F79-00C04FC2FBE1}';

procedure TForm1.OrganizeFavorites1Click(Sender: TObject);
var
H: HWnd;
p: procedure(Handle: THandle; Path: PChar); stdcall;
begin
H := LoadLibrary(PChar('shdocvw.dll'));
if H <> 0 then
begin
p := GetProcAddress(H, PChar('DoOrganizeFavDlg'));
if Assigned(p) then p(Application.Handle, PChar(Favorites1.Hint));
end;
FreeLibrary(h);
end;



procedure TForm1.AddtoFavorites1Click(Sender: TObject);
var
ShellUIHelper: ISHellUIHelper;
url, title: Olevariant;
begin
Title := EmbeddedWB1.LocationName;
Url := EmbeddedWB1.LocationUrl;
if Url <> '' then
begin
ShellUIHelper := CreateComObject(CLSID_SHELLUIHELPER) as IShellUIHelper;
ShellUIHelper.AddFavorite(url, title);
end;
end;
...全文
127 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
nationphone 2000-06-07
  • 打赏
  • 举报
回复
你既然用C++BUILDER, 对OBJECTPASCLA应该不会陌生,我建议你看看随C++BUILDER 带的帮助object pascal reference,
你的程序中调用了两个函数:'shdocvw.dll'中的DoOrganizeFavDlg,
另一个是个COM对象{64AB4BB7-111E-11D1-8F79-00C04FC2FBE1},
调用了安的方法AddFavorite(url, title);
这个方法是IShellUIHelper接口定义的。

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧