Last night, I was digging around on the web for some sample .NET code on how to create a Windows Explorer Context Menu similar to what WinZip does (with the sub-menu items and all that good jazz). I came across the typical MSDN Documentation that tells me about Creating Context menu Handlers in C++, using IContextMenu and IShellExtInit.
I thought I might be able to trudge through and create the appropriate interface definitions in .NET, myself, and I started digging around for some more examples of importing Win32 API Interfaces into .NET, when I came across the most amazing page: Edanmo's VB Page
This guy (Eduardo Morcillo) is amazing... not only has he already done all the work of porting IContextMenu and IShellExtInit into VB.NET, but he has also wrapped it all up into his ContextMenuHandlerBase class, making it a no-brainer to add your own context menu's to ANY file type with nothing more difficult than creating standard WinForms MenuItems.
Now I know why guys like this are Microsoft MVPs... they truely are valuable players in the community. I can't even begin to guess at the hours of work that he has saved me, and that he went through to create this chunk of code.