Answers:
我可以访问另一台运行Windows 7的PC,该PC的上下文菜单未损坏。我偷看了这台计算机的注册表,并精确地复制了输入的内容。这样做可以解决上下文菜单损坏的问题。
按照上面列出的所有说明.txt
,我需要的键中的两个字符串是Content Type
和PerceivedType
。
因此,回顾一下,如果您遇到类似的问题,这是我为解决此问题所做的工作。希望它也对您有用。
(首先备份注册表。)
regedit.exe
HKEY_CLASSES_ROOT
并查找.txt
密钥。如果不存在,请创建一个。.txt
键内,创建两个新的字符串:Content Type
和PerceivedType
。Default
应为txtfile
。Content Type
应为text/plain
。PerceivedType
应为text
。ShellNew
内的名称创建一个新.txt
密钥。ShellNew
键内,使用名称创建一个新的String NullFile
。ShellNew
键内,使用名称创建一个新的Expandable String ValueItemName
。ItemName
应为@%SystemRoot%\system32\notepad.exe,-470
这是最终结果应该是的两个屏幕截图:
创建具有.reg
扩展名的新文件,复制,粘贴,保存并运行。
Windows Registry Editor Version 5.00
; clear the key
[-HKEY_CLASSES_ROOT\.txt]
; and recreate
[HKEY_CLASSES_ROOT\.txt]
"PerceivedType"="text"
@="txtfile"
"Content Type"="text/plain"
[HKEY_CLASSES_ROOT\.txt\ShellNew]
; @C:\Windows\system32\notepad.exe,-470
"ItemName"=hex(2):40,00,43,00,3a,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,\
73,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6e,00,6f,\
00,74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,00,2c,00,2d,00,34,00,\
37,00,30,00,00,00
"NullFile"=""
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\.txt]
[HKEY_CLASSES_ROOT\.txt]
"PerceivedType"="text"
@="txtfile"
"Content Type"="text/plain"
[HKEY_CLASSES_ROOT\.txt\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"
[HKEY_CLASSES_ROOT\.txt\ShellNew]
"ItemName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
00,6e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,00,2c,00,\
2d,00,34,00,37,00,30,00,00,00
"NullFile"=""
[-HKEY_CLASSES_ROOT\txtfile]
[HKEY_CLASSES_ROOT\txtfile]
"EditFlags"=dword:00010000
@="Text Document"
"FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
32,00,5c,00,6e,00,6f,00,74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,\
00,2c,00,2d,00,34,00,36,00,39,00,00,00
[HKEY_CLASSES_ROOT\txtfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6d,00,\
61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,\
00,30,00,32,00,00,00
[HKEY_CLASSES_ROOT\txtfile\shell]
[HKEY_CLASSES_ROOT\txtfile\shell\open]
[HKEY_CLASSES_ROOT\txtfile\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
00
[HKEY_CLASSES_ROOT\txtfile\shell\print]
[HKEY_CLASSES_ROOT\txtfile\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\
00,25,00,31,00,00,00
[HKEY_CLASSES_ROOT\txtfile\shell\printto]
[HKEY_CLASSES_ROOT\txtfile\shell\printto\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6e,00,6f,00,\
74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,70,00,74,\
00,20,00,22,00,25,00,31,00,22,00,20,00,22,00,25,00,32,00,22,00,20,00,22,00,\
25,00,33,00,22,00,20,00,22,00,25,00,34,00,22,00,00,00
[-HKEY_CLASSES_ROOT\SystemFileAssociations\.txt]
[HKEY_CLASSES_ROOT\SystemFileAssociations\.txt]
"PerceivedType"="document"
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList]
"a"="NOTEPAD.EXE"
"MRUList"="a"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithProgids]
"txtfile"=hex(0):
只需自己添加.txt键,然后确保存在以下字符串值:
HKEY_CLASSES_ROOT\.txt\ShellNew\NullFile
外壳将使用它来决定要在“新建”菜单上放置哪些项目。
Microsoft在此处有关于它的知识库文章:http : //support.microsoft.com/kb/140333
如果要添加全新的类型(或修复损坏的类型),则可能需要添加另一个条目以指定所使用的文本。HKCR.txt的默认条目应为“ txtfile”。然后,确保您有一个HKCR \ txtfile条目,其默认条目类似于“文本文档”:
关闭资源管理器的所有实例(最好重新启动),这应该可以工作。
Microsoft更新有时会更改权限,从而杀死上下文功能的ACL。这些年来,我们中的某些人仍然会遇到这种情况。
Desktop-> mouse 2 -> New
如果不是,请参阅前面的文章并检查/修复注册表(很棒的东西!)。
如果是,但不在文件夹内,则
documents-> Mouse 2 -> New
Mouse 2 -> Properties-> Security
(Tab)-> <user name> -> Permissions for <user name> -> Allow
(我建议您自己控制“完全控制”)-> Apply
。我不需要重启。我从工作中的IT头脑狂中得到了这一点,希望对您有帮助。
1.单击HKEY_CLASSES_ROOT,然后在regedit.exe中查找.txt。
2.导出并(保留副本作为备份)并复制并粘贴以下代码。
3.最后将其导入为.txt。而已。它适用于Windows 10。
//信用进入停电状态1000 http://www.cnet.com/forums/discussions/no-new-text-document-thru-right-mouse-click-menu-52234/
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.txt]
"Content Type"="text/plain"
@="txtfile"
"PerceivedType"="text"
[HKEY_CLASSES_ROOT\.txt\OpenWithList]
[HKEY_CLASSES_ROOT\.txt\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"
[HKEY_CLASSES_ROOT\.txt\shell]
[HKEY_CLASSES_ROOT\.txt\shell\open]
[HKEY_CLASSES_ROOT\.txt\shell\open\command]
@="notepad.exe %1"
[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""
同样的问题,但是所有键都有正确的值。我只是将ItemName的值更改为
C:\apps\Notepad++\notepad++.exe,-470
(也就是说,使用安装了Notepad ++的路径),它可以正常工作。我的所有其他条目都返回到“新建”子菜单中。
这是正确的版本:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.txt]
@="txtfile"
"Content Type"="text/plain"
"PerceivedType"="text"
[HKEY_CLASSES_ROOT\.txt\OpenWithList]
[HKEY_CLASSES_ROOT\.txt\OpenWithList\notepad.exe]
[HKEY_CLASSES_ROOT\.txt\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"
[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""
我使用Windows10。我这样解决了
我有同样的问题,它在安装Notepad ++之后发生。上面提到的解决方案都没有为我解决此问题,但是当我向注册表中添加以下内容时,我能够使它工作:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Notepad++_file]
@="Notepad++ Document"
[HKEY_CLASSES_ROOT\Notepad++_file\DefaultIcon]
@="\"%1\""
[HKEY_CLASSES_ROOT\Notepad++_file\shell]
@="open"
[HKEY_CLASSES_ROOT\Notepad++_file\shell\Edit]
@="&Edit"
[HKEY_CLASSES_ROOT\Notepad++_file\shell\Edit\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office16\\msohtmed.exe\" %1"
[HKEY_CLASSES_ROOT\Notepad++_file\shell\open]
[HKEY_CLASSES_ROOT\Notepad++_file\shell\open\command]
@="\"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\OFFICE16\\MSOXMLED.EXE\" /verb open \"%1\""
[HKEY_CLASSES_ROOT\Notepad++_file\shell\Print]
@="&Print"
[HKEY_CLASSES_ROOT\Notepad++_file\shell\Print\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office16\\msohtmed.exe\" /p %1"
[HKEY_CLASSES_ROOT\Notepad++_file\ShellEx]
[HKEY_CLASSES_ROOT\Notepad++_file\ShellEx\IconHandler]
@="{42042206-2D85-11D3-8CFF-005004838597}"
我的问题是我的“新建→文本文件”没有显示,但是我的所有寄存器都正确。
因此,我不得不从列表中删除一些程序。显然Windows限制在那里显示多少程序...我删除了一些我不经常使用的Microsoft Office文件,这对我来说很有效。