永久取消隐藏Windows 7上下文菜单的其他功能


16

在Windows 7中,当在Windows资源管理器中单击鼠标右键时按住Shift键,会根据上下文菜单添加其他项,例如“ 复制为路径 ”,“ 在此处打开命令窗口 ”或更多“ 发送至 ”选项。在您单击的项目上。

有什么办法可以永久保留这些额外功能,而不必按住Shift键吗?

我希望无需安装额外的外壳扩展程序即可完成此操作(请参见下文)–更多考虑注册表黑客或其他问题…

更新:

解决“ 此处打开命令窗口 ”,尚未解决“ 复制为路径 ”!


在我的XP系统上,我过去只为随附的shell扩展安装SmartStartMenu,提供了非常有用的“ 复制路径名 ”,“ 复制短路径名 ”,“ 使用命令行参数运行 ”和“ 在DOS框中打开 ”菜单项,无需按住Shift或任何其他“修饰键”。


好问题。在“复制为路径”方面有什么进展吗?
Panic Panic

抱歉,不……我已经习惯于按住Shift键:/
mousio 2012年

1
嗨!您是否找到将ShellEx菜单项移出或移入扩展菜单的方法?我一直到处寻找,但找不到任何可行的方法。默认情况下,要在扩展菜单上显示某些项目时将其隐藏。我曾尝试在注册表中添加“扩展”字符串(这是通过普通的shell菜单完成的),但是没有运气。禁用很容易,但是不切实际,因为偶尔需要这些项目。
leugim 2013年

Answers:


5

这似乎是您正在寻找的内容:http : //www.techspot.com/guides/210-edit-windows-extended-context-menu/

这涉及使用小型软件实用程序“ ShellMenuView”,该实用程序不需要安装,并且与“从Windows 98到Windows 7 x64的所有程序”兼容。您可以在此处下载该实用程序(32位 | 64位)。


2
太谢谢了!我可以使用ShellMenuView工具为“ 在此处打开命令窗口 ” 关闭“扩展模式” ,但是对于“ 复制为路径 ”则没有这种运气。相关工具ShellExView列出了“ 复制为路径菜单 ”,但我无法更改其行为。注册表中相应的CLSID有一个空的“ ContextMenuOptIn”键(REG_SZ),我一直在使用它,但无济于事(而且我找不到该键的任何信息)…
mousio 2011年

3
您绝对应该避免使用第三方应用来做自己可以做的事情。有一些真正诚实的免费软件开发人员正在竭尽所能来帮助人们,但也有一些黑客开发人员将使用特洛伊木马/间谍软件植入的免费软件后门进入您的PC,以进行数据挖掘和身份盗用。很难区分它们。VirusTotal上的完整运行状况表也不能保证文件干净,因为真正好的黑客也可以将其文件上传到VTot并对其进行调整,直到没有更多的肯定为止。
thebunnyrules '02

1
@thebunnyrules按照这种逻辑,我们都应该回到使用笔和纸的方式。应用程序可以使我们的生活更轻松,这就是它们的全部目的。如果您无法安装任何应用程序,那么您最好也不要使用计算机。
RobinJ

1
@RobinJ首先,我认为您将我的逻辑放在中世纪的架子上,并对其进行拉伸和扭曲,直到无法识别为止。我并不是说人们不应该安装应用程序。我说过,人们自己可以做一些琐碎的事情时,他们不应该依赖意图未知的随机陌生人编写的应用程序(请参阅下面的答案,按照我的指南进行操作可能会花费与下载免费软件相同的时间并尝试一下)。
thebunnyrules

5

我从未尝试过完全禁用Shift菜单,但我不推荐使用它,因为如果您知道如何控制进入主菜单和未移动菜单的内容,它实际上是使主上下文菜单混乱的非常有用的工具。这是一件很容易的事,但首先要了解一些基础知识:

您可以在此处找到处理单个文件或最多选择15个文件的所有上下文菜单项:

HKEY_CLASSES_ROOT\*\shell

与文件夹相关的操作分为两类:右键单击背景时可用的操作和右键单击文件夹时的操作。它们可以在这里找到:

HKEY_CLASSES_ROOT\Directory\Background\shell
HKEY_CLASSES_ROOT\Directory\shell

驱动器在此处具有自己的密钥:

HKEY_CLASSES_ROOT\Drive\shell

上下文菜单命令的结构如下

HKEY_CLASSES_ROOT\(*,Directory or Drive)\shell\(Command's Main Key)
HKEY_CLASSES_ROOT\(*,Directory or Drive)\shell\(Command's Main Key)\command <=this will store the executed command when when the context menu item related to this key is selected 

除非您通过在主键下创建一个称为MUIverb的字符串值来进行其他指定,否则上下文菜单中的Command项将与主键具有相同的名称。例如。您可以创建一个名为MUIverb的字符串值,并将其值设置为New Name(“ MUIverb” =“ New Name”)。

当命令在主键下具有名为扩展的字符串值时,该命令将位于扩展移位中。您希望它在主外壳上下文菜单中,删除“扩展”字符串值条目。您想将某些内容传输到扩展菜单,只需将“扩展”放入主键即可。您也可以通过在同一键中放置另一个字符串值来为菜单项指定一个图标。例如:“ Icon” =“ C:\ Windows \ system32 \ SHELL32.dll,133”或“ Icon” =“ C:\ Pictures \ Icons \ SomeRandomIcon.ico”。

不幸的是,微软绝不是一成不变的。您不会在列出的地方找到所需的一切。shellex中有很多东西(例如,复制为路径),它们的运行规则与我之前所说的不同。

对于复制为路径的情况,我只是从上下文菜单中将其删除,并制作了自己的文件,为了方便起见,我将其附加在此处。打开记事本,然后复制我在此处放置的每个reg文件的内容。右键单击它们,然后选择合并。

复制为路径-从Shift Menu.reg删除MS Vanilla版本

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\CopyAsPathMenu]

在常规menu.reg中复制为路径启用

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Copy as Path]
"Icon"="C:\\Windows\\system32\\SHELL32.dll,133"
[HKEY_CLASSES_ROOT\*\shell\Copy as Path\command]
@="cmd.exe /c echo %1|clip"

[HKEY_CLASSES_ROOT\Directory\shell\Copy as Path]
"Icon"="C:\\Windows\\system32\\SHELL32.dll,133"
[HKEY_CLASSES_ROOT\Directory\shell\Copy as Path\command]
@="cmd.exe /c echo %1|clip"

[HKEY_CLASSES_ROOT\Directory\Background\shell\Copy as Path]
"Icon"="C:\\Windows\\system32\\SHELL32.dll,133"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Copy as Path\command]
@="cmd.exe /c echo %V|clip"

在shift menu.reg中复制为路径启用-带引号-

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Copy as Path (With Quotes)]
"Extended"=""
"Icon"="C:\\Windows\\system32\\SHELL32.dll,133"
[HKEY_CLASSES_ROOT\*\shell\Copy as Path (With Quotes)\command]
@="cmd.exe /c echo \"%1\"|clip"

[HKEY_CLASSES_ROOT\Directory\shell\Copy as Path (With Quotes)]
"Extended"=""
"Icon"="C:\\Windows\\system32\\SHELL32.dll,133"
[HKEY_CLASSES_ROOT\Directory\shell\Copy as Path (With Quotes)\command]
@="cmd.exe /c echo \"%1\"|clip"

[HKEY_CLASSES_ROOT\Directory\Background\shell\Copy as Path (With Quotes)]
"Extended"=""
"Icon"="C:\\Windows\\system32\\SHELL32.dll,133"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Copy as Path (With Quotes)\command]
@="cmd.exe /c echo \"%V\"|clip"

现在您可以处理RegEdit.exe中的注册表问题,但这是一个功能非常有限的工具。我只建议您编写.reg文件并根据需要合并它们。当您进行新的Windows安装时,这也将使重新应用更改变得容易。您还可以通过将各个键导出为.reg文件来导出在RegEdit中所做的更改。


2

不幸的是,对于Windows 7附带的CopyAsPathMenu(GUID {f3d06e7c-1e45-4a26-847e-f9fcdee59be0})外壳“扩展”,实际上无法完成此操作,因为其QueryContextMenu方法具有所有有用的条件,取决于检查CMF_EXTENDEDVERBS标志。

从理论上讲,您可以通过分解来了解这一点SHELL32.dll!?QueryContextMenu@CCopyAsPathMenu@@UAGJPAUHMENU__@@IIII@Z,但是如果您不知道我使用的是哪种月亮语言,那么您将需要学习很多东西;其中一些可能在Windows调试工具帮助文件(debugger.chm)中。


感谢您分享您的发现!我想得出结论,最后,我们可以关闭了。
mousio

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.