BHO开发浏览器插件-Adding Explorer Bars

Adding Explorer Bars


This tutorial explains how to add an Explorer Bar in Microsoft Internet Explorer. If you also want to create a toolbar button for the Explorer Bar, see the Adding Toolbar Buttons tutorial.

Requirements and Dependencies

Developers who want to add menu items to the Tools menu in Internet Explorer must be familiar with the registry. Developers should also be familiar with band objects. For more information on band objects, see the Microsoft Windows Shell API documentation in the Windows Software Development Kit World Wide Web link (SDK).

The implementation described here is valid for Internet Explorer 5 or later. To learn how to implement Explorer Bars in Internet Explorer 4.0, see the band objects documentation in the Windows Software Development Kit.

Implementation Steps

The following list contains the steps for adding an Explorer Bar to Internet Explorer.

Icons and strings stored inside a resource can be referenced by providing the path to the resource and reference identification in the format "path, resource_id". For example, if you wanted to use string resource 123 in Example.dll, you would use "Example.dll, 123".

Note

This tutorial describes how to add an Explorer Bar for all users. You can substitute HKEY_CURRENT_USER for HKEY_LOCAL_MACHINE in the steps below for settings that you want to make per user.

  1. Create a valid GUID.
  2. Create a new key, with the GUID as the name, in the registry under:

    HKEY_CLASSES_ROOT\CLSID\

    The result should look like:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>

    <Your GUID> is the valid GUID that you created in step 1.

    The default value of the key should be set to the name of the Explorer Bar in the View menu.

  3. Create a new key, Implemented Categories, under:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>

    The result should look like:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>\Implemented Categories
  4. Create a new key using the category identifier (CATID) of the type of Explorer Bar you are creating as the name of the key. This can be one of the following values:
    CATIDDescription
    {00021494-0000-0000-C000-000000000046}Defines a horizontal Explorer Bar.
    {00021493-0000-0000-C000-000000000046}Defines a vertical Explorer Bar.

    The result should look like:

    //for a horizontal Explorer Bar
    HKEY_CLASSES_ROOT\CLSID\<Your GUID>\
        Implemented Categories\{00021494-0000-0000-C000-000000000046}
    
    //for a vertical Explorer Bar
    HKEY_CLASSES_ROOT\CLSID\<Your GUID>\
        Implemented Categories\{00021493-0000-0000-C000-000000000046}
  5. Create a new key, InProcServer32, under:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>

    The result should look like:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>\InProcServer32

    Set the default value of the key to the full path of the Shdocvw.dll for HTML pages or the .dll file of the Explorer Bar.

  6. Create a new string value, ThreadingModel, under:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>\InProcServer32

    The result should look like:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>\InProcServer32\ThreadingModel

    Set the value of ThreadingModel to "Apartment".

  7. Create a new key, Instance, under:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>

    The result should look like:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>\Instance
  8. Required for Explorer Bars that display an HTML page, but optional otherwise. Create a new string value, CLSID, under:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>\Instance\

    The result should look like:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>\Instance\CLSID

    Set the value of CLSID to {4D5C8C2A-D075-11d0-B416-00C04FB90376}.

  9. Create a new key, InitPropertyBag, under:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>\Instance

    The result should look like:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>\Instance\InitPropertyBag
  10. Required for Explorer Bars that display an HTML page, but optional otherwise. Create a new string value, Url, under:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>\Instance\InitPropertyBag

    The result should look like:

    HKEY_CLASSES_ROOT\CLSID\<Your GUID>\Instance\InitPropertyBag\Url

    Set the value of Url to the location of the HTML file that contains the content for the Explorer Bar.

  11. Remove the following registry entries:
    HKEY_CLASSES_ROOT\Component Categories\
        {00021493-0000-0000-C000-000000000046}\Enum
    
    HKEY_CLASSES_ROOT\Component Categories\
        {00021494-0000-0000-C000-000000000046}\Enum
  12. Optional. Create a new key, using the GUID you created in step 1 as the name, in the registry under:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Explorer Bars

    HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Explorer Bars\<Your GUID>
  13. Optional. Create a new binary value, BarSize, under:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Explorer Bars\<Your GUID>

    The result should look like:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Explorer Bars\<Your GUID>\BarSize

    Set the value of BarSize to an 8-byte binary value in hexadecimal notation that sets the default size for the Explorer Bar. The value is interpreted in pixels, so the value "97 00 00 00 00 00 00 00" would be equivalent to setting the default size of the bar to 151 pixels.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值