I have an application that Opens files with different extensions for viewing purposes only
I use MFC with Multi-Document template.
When I go to Windows Explorer in Windows 7 and right-click on Libraries - Documents, and scroll down to New, Explorer shows multiple links for creating new files with these different extensions.
My application does not create New documents. It just opens them for viewing purposes. In fact, I have disabled the New portion of the mainframe window.
My code includes:
EnableShellOpen();
RegisterShellFileTypes(TRUE);
I am at a loss as to what portion of my code would have placed these links into Windows Explorer!
Is there any way to prevent them from being created in the first place?
this is part of what RegisterShellFileTypes(TRUE) does.
you can call it with false instead. This will however also disable the shell print and printto verbs, and not register an icon...
You may need to provide your own version of the register function to make it specifically do what you want it to do.
No, modifying MFC framework source code isn't a solution because isn't possible for you to rebuild MFC libraries.
Each time you want to change some default implementation, find a virtual function to override.
Unfortunately, CDocManager::RegisterShellFileTypes isn't virtual, so you have to go upper and override CWinApp::RegisterShellFileTypes.
Bookmarks