Fog Creek Software
Discussion Board




Welcome! and rules

Joel on Software

Advice on developing IE toolbar with C++

Hi,

I would like to develop a toolbar for Internet Explorer using C++. I used to develop for Windows (last was about 1997-8, using Visual C++ 4), but lately I am out of touch with their SDK and other APIs. It all seems rather confusing now, with C# and .NET. Can anyone give me a pointer as to where to start with this project? I know C++, I used to know the Win32 SDK. I don't have Visual Studio, but I do have the freely available Visual C++ compiler. I can get Visual Studio if I have to, but I heard somewhere that version 6 was the last "good" one, i.e. without all the .NET stuff.

Also, I have no idea where to start with programming an IE toolbar. What API to use? How to hook it into IE? I have searched on Google but all that seems to come up are websites that have "kits" that do it for you. I don't want that, I want to do it myself, using the appropriate Windows SDK. Is it still possible to develop this stuff for Windows using just C++, or do you really have to use C# these days? Is the old Win32 SDK still even around???

Any examples, books etc would be most welcomed.

I miss the days when there was one really good reference book on programming Windows. Now it all seems rather more complicated. I would like to avoid requiring people to download the *huge* .NET software if at all possible, because I'd like this to work on Windows 98 as well as XP. So ideally I'd like to stay with the minimal C++/SDK if possible.

I'm quite happy to dig into a big book, just not sure which one. All the recent books I've seen seem to be very specific to .NET and C# rather than C++/Win32.

Thanks in advance,

-Neil

Neil Gunton
Saturday, December 25, 2004

Have you checked around Code Project?

http://www.codeproject.com/atl/ietoolbartutorial.asp

http://www.codeproject.com/wtl/toolband.asp

http://www.codeproject.com/shell/2find.asp

GuyIncognito
Saturday, December 25, 2004

Thanks for the links - yes, I did see the ATL stuff, but at first glance it looked like a layer above the Windows SDK, and I wanted to avoid using someone else's libraries if possible. I am developing this toolbar as part of a potential business, and I wanted to be free of any licensing issues and other dependencies associated with using someone else's libs. When I first saw the CodeProject toolbar article, it looked like it was based on some proprietary libraries, but looking more closely now it looks as though this stuff might be a kind of "open source" resource for Windows development, though it doesn't really make that clear anywhere. I'll dig through their site a bit more, thanks again for pointing it out.

I am still hoping that there is some resource out there that can clue me in as to how to do this using the basic Microsoft SDK. I feel like there is some hidden resource out there that the people who wrote ATL have access to, I would simply like to make this thing as small, simple and lightweight as possible. This means ideally not having to use other people's libraries, which inevitably have their own baggage and issues...

-Neil

Neil Gunton
Sunday, December 26, 2004

The best place to look for advice on coding with windows is Microsoft's MSDN. I've never coded a custom exporer toolbar, but a quick search revealed an article that might be of use -

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/Shell/programmersguide/shell_adv/bands.asp

As for C#, I think that if you've been away from Windows API programming for a while you might find it easier to get back to it using C#. It will still work on Windows 98 and you can download a free version from MS. Either way, if you use MSDN as a reference and Code Project for examples you should be able to work it out.

Peter Davidson
Sunday, December 26, 2004

Thanks for the MSDN link, this looks very close to being what I am after. I will dig into this more.

I thought that C# uses the .NET runtime, which is not (afaik) included in the default Windows 98 and 2000 installs. Isn't the .NET runtime a rather large download? I guess I'd like to stay with the tried-and-trusted C++, which requires nothing additional for the user to download.

Thanks again,

-Neil

Neil Gunton
Sunday, December 26, 2004

You are correct about the .Net runtime not being included in 98 or 2000 by default. In fact it's not even in XP. You can get the runtime for each of these but, as you say, it is a big download.

Peter Davidson
Sunday, December 26, 2004

*  Recent Topics

*  Fog Creek Home