BHO开发浏览器插件-Adding Toolbar Buttons

以下内容来自MSDN:ms-help://MS.MSDNQTR.v90.chs/ieext/workshop/browser/ext/extensions.htm

Adding Toolbar Buttons


This tutorial explains how to add a toolbar button to the Microsoft Internet Explorer user interface. The toolbar button can either run a Microsoft Win32 application, run a script, or open an Explorer Bar. If you also want to create a menu item for the Win32 application or script, see the Adding Menu Items tutorial.

Requirements and Dependencies

Developers who want to add toolbar buttons to Internet Explorer must be familiar with the registry and globally unique identifiers (GUID).

This feature is only available in Internet Explorer 5 and later. Internet Explorer 4.0 allows you to add a custom Explorer Bar, but there is no method for adding a toolbar button to access your Explorer Bar.

Toolbar buttons require two sets of icons: one set with the active (color) icons and one set with the default (grayscale) icons. These icons can be stored in two .ico files or inside a resource (like a .dll or .exe file). 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". For more information about what icons are required and for tips on designing icons for Internet Explorer, see Toolbar Button Style Guide.

General Steps

The steps in this section must be followed when adding any toolbar buttons to the Internet Explorer user interface. If any information is omitted, the toolbar button will not be displayed.

Note This tutorial describes how to add a menu item 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. Duplicate items found in HKEY_CURRENT_USER override those in HKEY_LOCAL_MACHINE .
  1. Create a valid GUID.

    You can use Guidgen.exe from Microsoft Visual Studio, or Uuidgen.exe from the Microsoft Windows Software Development Kit (SDK) World Wide Web link.

  2. Create a new key (using the GUID as the name) in the registry under:
    • HKEY_LOCAL_MACHINE
      • Software
        • Microsoft
          • Internet Explorer
            • Extensions
              • {GUID}

    {GUID} is the valid GUID that you created in step 1.

  3. Required. Create the following string values in the registry under the new key:
    • ButtonText - Set the value to the label you want for the toolbar button.
      HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{GUID}\ButtonText
    • HotIcon - Set the full path of the .ico file that contains the three color icons.
      HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{GUID}\HotIcon
    • Icon - Set the full path of the .ico file that contains the three grayscale icons.
      HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{GUID}\Icon
  4. Optional. The following values determine if the icon is initially visible.
    • Default Visible - To make the toolbar button to appear on the Internet Explorer toolbar by default, setDefault Visible to "Yes", otherwise set Default Visible to "No".
      HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{GUID}\Default Visible
      Note If the user has customized the toolbar, the button will not appear on the toolbar automatically. The toolbar button will be added to the choices in the Customize Toolbar dialog box and will appear if the toolbar is reset.
  5. Optional. To provide support for multiple native languages (like French or Japanese), complete the following steps to support different native languages:
    1. Determine the LCID of the native language you want to support. See Language Identifier Constants and Strings for a complete list.
    2. Create a new key, Lang####, using the LCID from the previous step in place of "####" in the registry as follows:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{GUID}\Lang####

      For example, the key name should be Lang0411 for a Japanese implementation, since the LCID for Japanese is 0411.

Adding the Details

To complete the setup of the custom command, you must provide details of the action that takes place when the button is clicked. The values that you need depend on what the toolbar button is going to run. The following list contains links to the sections with the steps required to complete the addition of a toolbar button.

COM Objects

In order to invoke a Component Object Model (COM) object from Internet Explorer, it must implement IOleCommandTarget. Only one command is supported per object; the COM object's IOleCommandTarget::Exec is always called withnCmdID=0 and with VARIANT arguments set to NULL. Additionally, the implementation of IOleCommandTarget::QueryStatus is always called withcCmds=1.

If the COM object needs to access the browser or Dynamic HTML (DHTML) Object Model of the active page, it must implement IObjectWithSite. Internet Explorer calls IObjectWithSite::SetSite with a pointer to IShellBrowser.

The following steps are required to complete the creation of a toolbar button that implements a COM object.

  1. Register the COM object.
  2. Create a new string value, CLSID, in the registry as follows:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{GUID}\CLSID

    Set the value of CLSID equal to {1FBA04EE-3024-11d2-8F1F-0000F87ABD16} to specify theCLSID_Shell_ToolbarExtExec extension class.

  3. Create a new string value, ClsidExtension, in the registry as follows:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{GUID}\ClsidExtension

    Set the value of ClsidExtension equal to the GUID of the COM object.

Explorer Bars

The following steps are required to complete the creation of a toolbar button that opens an Explorer Bar.

  1. Create a new string value, CLSID, in the registry as follows:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{GUID}\CLSID

    Set the value of CLSID equal to {E0DD6CAB-2D10-11D2-8F1A-0000F87ABD16} to specify theCLSID_Shell_ToolbarExtBand extension class.

  2. Create a new string value, BandCLSID, in the registry as follows:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{GUID}\BandCLSID

    Set the value of BandCLSID to the CLSID of the Explorer Bar to open.

Note All Explorer Bars have a menu item added to the View menu automatically.

Scripts

The following steps are required to complete the creation of a toolbar button that runs a script.

  1. Create a new string value, CLSID, in the registry as follows:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{GUID}\CLSID

    Set the value of CLSID equal to {1FBA04EE-3024-11D2-8F1F-0000F87ABD16} to specify theCLSID_Shell_ToolbarExtExec extension class.

  2. Create a new string value, Script, in the registry as follows:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{GUID}\Script

    Set the value of Script to the full path of the script to run.

To add a menu item in the Tools menu with the same functionality, see the Adding Menu Items tutorial.

Executable Files

The following steps are required to complete the creation of a toolbar button that runs an executable file.

  1. Create a new string value, CLSID, in the registry as follows:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{GUID}\CLSID

    Set the value of CLSID equal to {1FBA04EE-3024-11D2-8F1F-0000F87ABD16} to specify theCLSID_Shell_ToolbarExtExec extension class.

  2. Create a new string value, Exec, in the registry as follows:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions\{GUID}\Exec

    Set the value of Exec to the full path of the .exe file to run.

To add an item to the Tools menu with the same functionality, see the Adding Menu Items tutorial.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值