Microsoft KB Archive/182034

= How To Invoke the "Add to Favorites" Dialog Box in IE4 =

Article ID: 182034

Article Last Modified on 3/16/2005

-

APPLIES TO


 * Microsoft Internet Explorer 4.0 128-Bit Edition
 * Microsoft Internet Explorer 4.01 Service Pack 2

-



This article was previously published under Q182034



SUMMARY
The "Add to Favorites" dialog box provides a user interface for the user to save a Web page as a favorite. The ShellUIHelper::AddFavorite method can be used to invoke this dialog box from a Visual C++ or Visual Basic application or from script on a Web page.

Please note that you must install the Internet Client SDK before you can implement this code in Visual C++.

Also, you must install the desktop update that comes with Internet Explorer 4.0x in order to use the ShellUIHelper object.



MORE INFORMATION
The AddFavorite method takes two parameters. The first parameter is the URL of the Web page to save as a favorite. The second parameter is the title to be used for this favorite (optional).

When specifying the URL to save as a favorite, you must specify the protocol type (http://, file://, and so forth) If you do not specify the protocol, AddFavorite will return E_FAIL (0x80004005) in Visual C++, and a run-time error in Visual Basic or script.

Scripting
 window.external.addFavorite "http://www.microsoft.com", "Microsoft" 

Visual C++
To invoke the "Add to Favorites" dialog box from a Visual C++ application that is hosting the WebBrowser control, insert the following code in your application: #include "ExDisp.h"

IShellUIHelper* pShell = NULL; HRESULT hr = CoCreateInstance(CLSID_ShellUIHelper, NULL, CLSCTX_SERVER,                                IID_IShellUIHelper, (void**)&pShell); if (hr == S_OK) {     COleVariant vtTitle("Microsoft"); pShell->AddFavorite(OLESTR("http://www.microsoft.com"), &vtTitle); pShell->Release; } NOTE: The \Inetsdk\Include directory must be listed first in the Directories tab of the settings for the project.

Visual Basic
To invoke this dialog box in a Visual Basic application, add a reference to Shdocvw.dll to your project if your application is not hosting the WebBrowser control: Dim shellHelper As New ShellUIHelper shellHelper.AddFavorite "http://www.microsoft.com", "Microsoft"

