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.
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 (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.
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".
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.
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.
HKEY_CLASSES_ROOT\CLSID\<Your GUID>
The result should look like:
HKEY_CLASSES_ROOT\CLSID\<Your GUID>\Implemented Categories
CATID | Description |
---|---|
{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}
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.
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".
HKEY_CLASSES_ROOT\CLSID\<Your GUID>
The result should look like:
HKEY_CLASSES_ROOT\CLSID\<Your GUID>\Instance
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}.
HKEY_CLASSES_ROOT\CLSID\<Your GUID>\Instance
The result should look like:
HKEY_CLASSES_ROOT\CLSID\<Your GUID>\Instance\InitPropertyBag
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.
HKEY_CLASSES_ROOT\Component Categories\ {00021493-0000-0000-C000-000000000046}\Enum HKEY_CLASSES_ROOT\Component Categories\ {00021494-0000-0000-C000-000000000046}\Enum
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Explorer Bars
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Explorer Bars\<Your GUID>
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.