ITPub博客

首页 > IT职业 > IT生活 > 怎样在IE工具栏上加入自己的工具 (转)

怎样在IE工具栏上加入自己的工具 (转)

原创 IT生活 作者:worldblog 时间:2007-12-07 10:11:44 0 删除 编辑
怎样在IE工具栏上加入自己的工具 (转)[@more@]

怎样在IE工具栏上加入自己的工具

写一个COM程序,然后在注册表的HKEY_LOCAL_MACHINESOFTWAREmicrosoftInte.NET ExplorerExtensions下放你的程序的GUID项,IE就会自动添加这个按钮了。项下面的属性参考其他.
 

1.HKEY_CURRENT_USERSOFTWAREMicrosoftInternet ExplorerExtensionsCmdMapping(以下简称BB)下看看各个增加的键值,最有用的是NextID(便于编程时决定你的程序的CLSID加在什么地方)。可以将你的程序的CLSID作为键名,键值为原来NextID的值,然后将NextID的值加一。
2.在HKKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions处增加一个项目,名字为你的程序的CLSID,他拥有的子键为(全部为字符串型)
  ButtonText:按钮的文字标签。如果你设置IE的工具栏没有文字标签时,这些文字将作为工具提示(就是当鼠标移动到按钮上并停留一段时间时出现的小黄条)。
  CLSID:必须为{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}。这是IE工具条的CLSID。
  Default Visible:安装时是否可见。

  Exec:要执行文件。(EXE格式)
  或者
  Clsidextension:加入的插件DLL注册的ID。

  HotIcon:当鼠标移动到按钮上时显示的图标。
  Icon:普通状态下的图标。
  MenuText:在IE的“工具”菜单中显示的菜单项。可以使用&符号指定快捷键
  MenuStatusbar:当鼠标移动到该菜单项上时,在IE的状态栏上显示的文字。

说明:可以用CLSIDExtension去指定自己为IE写的扩展DLL,即“插件”如Flash插件。此时就不要指定Exec选项。同时也不要使用Menu的选项。

  CLSID就是类的ID,系统根据这个来区分不同的COM对象
 

例子:,C++Builder

void __fastcall TChangeSkinForm::SetButton()
{
  AnsiString asIEKey = "SoftwareMicrosoftInternet ExplorerExtensions";
  if(!RegKeyExists(HKEY_LOCAL_MACHINE, asIEKey))//ie 4.0
  return;
  //增加按钮
  AnsiString asMyKey = asIEKey + "{06DD38D3-D187-11CF-A80D-00C04FD74AD8}";
  WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "CLSID", "{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}" ,true);
  WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "ButtonText", "背景" ,true);
  WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Default Visible", "yes" ,true);
  WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Exec", Application->ExeName ,true);
  WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "HotIcon",  ExtractFilePath(Application->ExeName) + "Skinhot.ico",true);
  WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Icon",  ExtractFilePath(Application->ExeName) + "Skin.ico",true);
}
 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-989335/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    6241
  • 访问量
    2410362