Re: Creating a IE Toolbar
From: Cristian Amarie (cristianamarie_at_hotmail.com)
Date: 03/18/05
- Next message: Denis Galiana: "BHO : Problem detecting when a page is done loading"
- Previous message: Param: "Creating a IE Toolbar"
- In reply to: Param: "Creating a IE Toolbar"
- Next in thread: Igor Tandetnik: "Re: Creating a IE Toolbar"
- Messages sorted by: [ date ] [ thread ]
Date: Fri, 18 Mar 2005 08:46:56 +0200
1. COM is a must. Any toolbar for IE (in fact, any extension) is a COM
(usually inproc) server. MSDN.
2. COM inproc servers: bare IUnknown, IClassFactory, registration. MSDN.
3. Internet Explorer toolbar/bands/toolbar buttons/context menus etc.: COM
registration, required interfaces to implement (IObjectWithSite and others -
vary from extension to extension). MSDN.
4. User interface for toolbar: windowing, common controls, notifications,
runtime, system settings (color, icons) etc. MSDN
5. Functionality of toolbar/extension: depends on what has to do. Probably
HTML DOM, WinInet and any other thing the toolbar is supposed to do. MSDN,
any other required documentation.
6. Event sinking (from IE) if necessary: I'll start with IDispatch,
IConnectionPointContainer, IDocHostUIHandler and more. A search for
IDocHostUIHandler will almost surely point you to an extension or a
documentation/article about it. MSDN.
7. Suggestions (if you want to understand 100% what you want to do and you
don't want just to do some copy/paset and wizard job with ATL):
7.1. Use plain C++ (or even C if you want to build your own vtables)
7.2 Implement and build the COM server that does nothing but let itself
registered as IE extension: implement COM entry routines (DllRegisterServer,
DllUnregisterServer, DllGetClassObject and DllCanUnloadNow),
registration/unregistration process; implement IUnknown and IClassFactory
(COM base) and IObjectWithSite (extension base). This will make you a
skeleton of an extension that let itself be loaded by IE.
7.3 After you get the skeleton up and running, from now on it depends
what kind of extension you have. Assuming is a toolbar, you have to register
the object as a toolbar (MSDN), create the toolbar (Win32, windows, common
controls), put it into a rebar (MSDN: there is also a complete sample,
BandObj if I remember well), implement the other required interfaces to make
you object a toolbar (IOleWindow, IDockingWindow, IInputObject and more if
needed).
8. Avoid MFC at all costs. There is no reason to use MFC just for CString or
to use some support for COM - a toolbar is a simple COM/Win32 extension and
not a large business application that requires a framework like MFC.
(The latter is a personal opinion - do as you see suitable, but if you are
in a learning process and not pressed by a deadline, then the decision is
yours).
Look also in older MSDN and Platform SDKs (especially in Samples) - there a
a number of samples that dissapear/reappear from version to version.
For the moment, I think you have what to start with...
Cristian
"Param" <Param@discussions.microsoft.com> wrote in message
news:59DFFE57-2511-415A-9D4A-730E3405EE98@microsoft.com...
> Hi,
> I have to write a toolbar for ie. I know vc++6.0 programming.
> Can anyone tell me from where i Have to start.
> Any resources available on the net or MSDN?
>
> Thanx in advance
- Next message: Denis Galiana: "BHO : Problem detecting when a page is done loading"
- Previous message: Param: "Creating a IE Toolbar"
- In reply to: Param: "Creating a IE Toolbar"
- Next in thread: Igor Tandetnik: "Re: Creating a IE Toolbar"
- Messages sorted by: [ date ] [ thread ]