Extending the IE Context Menu in your App using the Registry | CodeGuru

Extending the IE Context Menu in your App using the Registry

. The sample code given is compiled using Visual c++ 5.0, Windows 95 Internet Explorer 4.0 uses OLE Activex control and Active Document interfaces to connect components.I will just briefly talk about the Internet Explorer’s architecture. Mainly Internet Explorer is just a small application which uses the internet explorer 4.0 components for favourites maintenance,history maintaenance […]

Written By
CodeGuru Staff
CodeGuru Staff
Aug 7, 1998
3 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

.

The sample code given is compiled using Visual c++ 5.0, Windows 95

Internet Explorer 4.0 uses OLE Activex control and Active
Document interfaces to connect components.I will just briefly
talk about the Internet Explorer’s architecture. Mainly Internet
Explorer is just a small application which uses the internet
explorer 4.0 components for favourites maintenance,history
maintaenance and so on. This executable directly hosts the
SHDOCVW.DLL which is nothing but the web browser control.
SHDOCVW.DLL in turn hosts the MSHTML.DLL. Implementing the
webbrowser control is little bit difficult than implementing the
MSHTML.DLL.

MSHTML.DLL performs the HTML parsing and rendering in Internet
Explorer 4.0 and also exposes the HTML document through the
Dynamic HTML Object Model. This DLL hosts the scripting engines,
Java VM, ActiveX Controls, Plug_Ins, and the other components
that may be referenced in the HTML Document that is loaded. This
DLL implements the Active Document Server interfaces which allows
users to host this DLL using standard COM interfaces.

But if we host MSHTML.DLL then we should implement some of the
features which are already in the webbrowser control. I stop with
this and go on to explain our topic of this article. If any body
wants to study more about the internet explorer 4.0 architecture
and how to explore it then install INETSDK which is available for
download in the http://www.microsoft.com
or install it from the MSDN CD Pack.

If we write an application using WebBrowser Control. To learn
how to use WebBrowser Control refer to the article by Daniel
Harth https://www.codeguru.com/internet/webbrowser_control.shtml
Then if we right click on the window the webbrowser control will
display the default internet explorer’s context menu. But if we
want to modify it then what should we do? The answer is simple
just go to the windows registry and add a new menu item. Going
Crazy!! Just wait a moment I will explain. We can also control
the context menu programmaticallly which at present I am
exploring. I will update that later.

Menu Items can be added to the existing context menus of the
WebBrowser by placing entries in the registry and linking these
to URLs that execute what you want. To add additional items to
the standard WebBrowser context menus, open the following key.
Dont panic if you don’t have one just create it right there.

 HKEY_CURRENT_USER
    Software
        Microsoft
            Internet Explorer
                MenuExt

 

Under this key create another key which contains the text to be displayed in the menu.

The default value of this key will contain the URL which will be executed when the user selects this menu item.

The key name can include the ‘&’ character, which will
cause the character immediately following the ‘&’ to be
underlined. The URL will be loaded inside of a hidden HTML dialog
box, all of the script will be executed, and the dialog will be
closed. The hidden HTML dialog’s external.menuArguments
property contains the window
object of the window on which the context menu item was executed.

The following registry entry will add an item with the title
"Home" to the WebBrowser context menu and will execute
the URL "http://www.microsoft.com"

HKEY_CURRENT_USER
    Software
        Microsoft
            Internet Explorer
                MenuExt
                    Home = "http://www.microsoft.com"

 

The sample application hosts the WebBrowser control. Just add these entries in your windows registry and then run the sample application.In the application window right click and see the context menu "home" menu will be displayed.

If you find any bugs in this article or any comments feel free to mail me.

Download Sample (27 kb)

Article added on June 21 1998

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.