Hi,
So I've implemented a shell extension COM object that has a QAxBindable object that creates a QAxAggregated object. It implements IShellExtInit and IContextMenu. I register the extension as a ContextMenuHandler for all files and it works fine on the Desktop. I can see the IShellExtInit and IContextMenu interfaces get queried and see their member functions invoked. However, in the actual Explorer windows it gets loaded and the QAxBindable interface is called to instantiate the QAxAggregated, but then the Initialize member function of IShellExtInit never actually gets invoked like it does when I right click on the desktop. I suppose this is an issue with COM but I have been unable to find a cause for the problem.
Further, when i set the ThreadingModel in the registry to Apartment, then the context menu will load in whatever window it's first loaded in, but then not at all in any others.
Any thoughts? I can provide more information, just wondered if anyone had seen anything like this before.
Bookmarks