IE里的探索之添加浏览器栏
发表于:2007-06-30来源:作者:点击数:
标签:
IE里的探索之添加浏览器栏 (作者:青苹果工作室编译 2001年02月08日 13:28) 本文解释如何在 Microsoft Internet Explorer 中添加浏览器栏。如果你想向 Internet Explorer 的“工具”菜单中添加菜单项,首先应该熟悉注册表,还应该熟悉 band 对象。有关 band
IE里的探索之添加浏览器栏
(作者:青苹果工作室编译 2001年02月08日 13:28)
本文解释如何在 Microsoft Internet Explorer 中添加浏览器栏。如果你想向 Internet Explorer 的“工具”菜单中添加菜单项,首先应该熟悉注册表,还应该熟悉 band 对象。有关 band 对象的详细内容,可以参阅 SDK 中关于 Windows Shell API 的文档。
这里讨论的实现方式对 Internet Explorer 5 以上版本有效。关于如何在 Internet Explorer 4.0 里实现浏览器栏,参见 SDK 中关于 band 对象的文档。
实现步骤
按以下步骤在 Internet Explorer 中添加浏览器栏:
通过以“路径,resource_id”格式所指定的资源的路径和引用标志,我们可以引用保存在资源中的图标和字符串。例如,如果你想引用 Example.dll 中的字符串资源123,可以使用 "Example.dll, 123"。
注意:本文描述了如何为所有用户添加浏览器栏。如果你希望为单个用户添加浏览器栏,可以把下列步骤中的 HKEY_LOCAL_MACHINE 换成 HKEY_CURRENT_USER。
1. 创建全局唯一标识符 (GUID)。
2. 在注册表中的以下位置:
HKEY_CLASSES_ROOTCLSID
以 GUID 为键名创建一个新键,结果类似于:
HKEY_CLASSES_ROOTCLSID<Your GUID>
<Your GUID>就是你在第一步里创建的合法 GUID。
默认的键值应该是在“查看”菜单中想要设置的浏览器栏的名字。
3. 在以下位置:
HKEY_CLASSES_ROOTCLSID<Your GUID>
创建新键,Implemented Categories。结果类似于:
HKEY_CLASSES_ROOTCLSID<Your GUID>Implemented Categories
4. 以你的浏览器栏类型的 CATID 为键名创建新键。CATID 可以是以下值之一:
CATID | 描述 |
{00021494-0000-0000-C000-000000000046} | 水平浏览器栏 |
{00021493-0000-0000-C000-000000000046} | 垂直浏览器栏 |
结果类似于:
//水平浏览器栏
HKEY_CLASSES_ROOTCLSID<Your GUID>Implemented Categories{00021494-0000-0000-C000-000000000046}
//垂直浏览器栏
HKEY_CLASSES_ROOTCLSID<Your GUID>Implemented Categories{00021493-0000-0000-C000-000000000046}
5. 在以下位置:
HKEY_CLASSES_ROOTCLSID<Your GUID>
创建新键,InProcServer32,结果类似于:
HKEY_CLASSES_ROOTCLSID<Your GUID>InProcServer32
对 HTML 页面,将键值设置为 Shdocvw.dll 的全路径名。对浏览器栏,键值设置为它的 .dll 文件。
6. 在以下位置:
HKEY_CLASSES_ROOTCLSID<Your GUID>InProcServer32
创建新键,ThreadingModel,结果类似于:
HKEY_CLASSES_ROOTCLSID<Your GUID>InProcServer32ThreadingModel
ThreadingModel 的键值设置为 "Apartment"。
7. 在以下位置:
HKEY_CLASSES_ROOTCLSID<Your GUID>
创建新键,Instance,结果类似于:
HKEY_CLASSES_ROOTCLSID<Your GUID>Instance
8. 对显示 HTML 页面的浏览器栏本步是必须的,对其它浏览器栏本步是可选的。在以下位置:
HKEY_CLASSES_ROOTCLSID<Your GUID>Instance
创建新键,CLSID,结果类似于:
HKEY_CLASSES_ROOTCLSID<Your GUID>InstanceCLSID
CLSID 的键值设置为:{4D5C8C2A-D075-11d0-B416-00C04FB90376}。
9. 在以下位置:
HKEY_CLASSES_ROOTCLSID<Your GUID>Instance
创建新键,InitPropertyBag,结果类似于:
HKEY_CLASSES_ROOTCLSID<Your GUID>InstanceInitPropertyBag
10. 对显示 HTML 页面的浏览器栏本步是必须的,对其它浏览器栏本步是可选的。在以下位置:
HKEY_CLASSES_ROOTCLSID<Your GUID>InstanceInitPropertyBag
创建新键,Url,结果类似于:
HKEY_CLASSES_ROOTCLSID<Your GUID>InstanceInitPropertyBagUrl
Url 的键值设置为包含浏览器栏内容的 HTML 文件的位置。
11. 删除以下注册表项:
HKEY_CLASSES_ROOTComponent Categories{00021493-0000-0000-C000-000000000046}Enum
HKEY_CLASSES_ROOTComponent Categories{00021494-0000-0000-C000-000000000046}Enum
12. 可选。在以下位置:
HKEY_LOCAL_MACHINESoftwareMicrosoftInternet ExplorerExplorer Bars
以你在第一步里创建的 GUID 为键名创建新键,结果类似于:
HKEY_LOCAL_MACHINESoftwareMicrosoftInternet ExplorerExplorer Bars<Your GUID>
13. 可选。在以下位置:
HKEY_LOCAL_MACHINESoftwareMicrosoftInternet ExplorerExplorer Bars<Your GUID>
创建新键,BarSize,结果类似于:
HKEY_LOCAL_MACHINESoftwareMicrosoftInternet ExplorerExplorer Bars<Your GUID>BarSize
BarSize 设置为 8 字节的二进制值,以十六进制设置浏览器栏的默认尺寸。它的单位为点,例如,键值 "97 00 00 00 00 00 00 00" 设置浏览器栏的默认尺寸是 151 点。
原文转自:http://www.ltesting.net