I'm currently writing a new IE utility that requires a very tight relationship with the inner workings of Internet Explorer. Ostensibly, I needed to hook into the event model of the browser as it surfs the Web, moving from URL to URL. When I recognize the current URL as contained within a predefined collection, I want to take some action. While researching, I came across IE Browser Helper Objects and discovered how to implement them using .NET. After stumbling through a few ATL examples (which is nothing short of hell after looking at C# for a couple of years) I was pleasantly surprised at how easy it was to do in .NET.