Adding Entries to the Standard Context Menu

This tutorial explains how to add an entry into the standard context menus in Windows Internet Explorer that executes a script specified by a URL.

  • Requirements and Dependencies
  • Implementation Steps
  • Related topics

Requirements and Dependencies

Developers who want to add entries to the standard context menus in Internet Explorer must be familiar with the registry. Developers should also be familiar with context menus. For more information about context menus, see the Windows Shell API documentation in the Windows Software Development Kit (SDK).

The implementation described here is valid for Microsoft Internet Explorer 4.0 or later. This feature is not available in earlier versions of Internet Explorer.

Implementation Steps

The following steps are required to add an entry into the standard context menus in Internet Explorer.

  1. Create a new key, using the text you want displayed in the context menu as the name, under:

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt

    The result should look like:

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text>
    

    <Menu Text> should be replaced with the text that you want displayed in the context menu. The name can include an ampersand (&) character, which will cause the character that follows to be underlined and used as a shortcut key.

  2. Set the default value of the key to the URL of the page that contains the script you want the context menu entry to execute. This script can obtain the parent window object, the screen where the context menu item was executed, from the menuArguments property of the external object.

  3. Optional. Create a binary value, Contexts, under:

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text>

    The result should look like:

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text>\Contexts
    

    Set the value of Contexts to indicate which contexts your entry should appear in the standard context menu by using a bit mask consisting of the logical OR of the following values:

    Context Value
    Default 0x1
    Images 0x2
    Controls 0x4
    Tables 0x8
    Text selection 0x10
    Anchor 0x20

     

    For example, if you want your context menu entry to appear in the default context menu and when the context is a text selection, set the value of Contexts to 0x11.

  4. Optional. Create a DWORD value, Flags, under:

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text>

    The result should look like:

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text>\Flags
    

    Set the value of Flags to 0x1 to make the script run just as if it had been called through the showModalDialog method. Unlike the showModalDialog method, the script can access the window object of the parent window from the menuArguments property of the external object.

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".

Conceptual

About Browser Extensions

Web Accessories