0

I went through various resources available on internet and found that ATL COM is used to develop addons for IE9 or above. But as per my knowledge this library is very old library. There must be something new from which IE addons can be developed.

Pl let me know if you have any idea/suggestions.

Mukesh Sakre
  • 156
  • 2
  • 13
  • 2
    ATL isn't all that old, and it's well enough designed for its purpose that it's open to at least some question whether a replacement would be significantly better. – Jerry Coffin May 18 '13 at 04:12
  • So there is no other way of creating IE addons as of now. Is that understanding correct? – Mukesh Sakre May 18 '13 at 04:16
  • 2
    ATL isn't old; its seasoned. It has been updated with every release of Visual C++, and several-times-over refreshed since its inception, to the point where MFC now rips off much of its functionality from ATL. Out of the box "click this to make a skeleton IE add-in" functionality is provided via wizards to dev studio, but ultimately its COM at the core, and you could write it in raw C if you were so inclined (and of questionable sanity). – WhozCraig May 18 '13 at 04:46
  • Well, I would say that ATL is indeed old, but very alive and kicking. – Simon Mourier May 18 '13 at 06:09
  • It is *stable*, unfortunately too often a code word for "dead". ATL isn't required to write COM code, it is just kinda dumb to not use it. Available books are excellent and still in print. – Hans Passant May 18 '13 at 14:07

2 Answers2

1

No, it's not necessary to use ATL. You can certainly create COM-compliant components without the help of ATL.

Ben Voigt
  • 277,958
  • 43
  • 419
  • 720
1

Generally COM is language agnostic, so you can use any programming language and libraries that support it.

Also refer to this question: Developing Internet Explorer Extensions?

Community
  • 1
  • 1
Sergey Podobry
  • 7,101
  • 1
  • 41
  • 51
  • Thanks Sergius!! Is there any difference if i write BHO programme using ATL COM or C# .NET? – Mukesh Sakre May 19 '13 at 14:16
  • 1
    C# requires .NET framework while ATL COM can be built without any dependencies. – Sergey Podobry May 19 '13 at 17:17
  • I have seen description of interface of IObjectWithSite interface but could not understand. Pl let me know what is it and how it works in your language. – Mukesh Sakre May 20 '13 at 04:12
  • 1
    Ok. Site is a container where an object is hosted. Using IObjectWithSite a container tells the object that it is its host now. After that the object can interact with its host (it has a pointer to the host). – Sergey Podobry May 20 '13 at 07:54
  • Ok.So container site is a IE browser (lets say button/icon on browser) and object is our app which is registered. Please correct me if i am wrong. – Mukesh Sakre May 20 '13 at 08:36
  • I have to place a icon/button on IE browser and on click of it i have to perform some operation. Which option do i need to use :- 1.Shortcut menu extensions 2.Toolbars 3.Explorer Bars 4.Browser Helper Objects – Mukesh Sakre May 20 '13 at 09:54
  • let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/30249/discussion-between-mukesh-sakre-and-sergius) – Mukesh Sakre May 20 '13 at 09:58
  • Please provide your response on stackoverflow.com/q/16663603/1513701 @sergius – Mukesh Sakre May 30 '13 at 07:09
  • @mukesh-sakre: Sorry, forgot about that. – Sergey Podobry May 30 '13 at 13:44