-
February 16th, 2013, 05:41 PM
#1
Windows Explorer -Libraries - Documents - New
Hello,
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?
Thanks.
-
February 18th, 2013, 09:34 AM
#2
Re: Windows Explorer -Libraries - Documents - New
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.
-
February 18th, 2013, 03:06 PM
#3
Re: Windows Explorer -Libraries - Documents - New
Hello,
thanks for the reply.
I don't really want to disable the shell print and open because they are quite useful.
I looked at the docmgr.cpp where the RegisterShellFileTypes function is.
I found this code:
if (bCompat)
{
strTemp.Format(_afxShellNewFmt, (LPCTSTR)strFilterExt);
(void)_AfxSetRegKey(strTemp, _afxShellNewValue, _afxShellNewValueName);
}
If I comment this code out, do you think it will prevent Windows from adding New links to the Explorer - Libraries folder?
thanks...
-
February 23rd, 2013, 12:45 PM
#4
Re: Windows Explorer -Libraries - Documents - New
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.
-
February 23rd, 2013, 02:29 PM
#5
Re: Windows Explorer -Libraries - Documents - New
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|