flo*_*ilo 5 windows-registry windows-explorer context-menu windows-10
当我在安装了不同程序的不同计算机上工作时,我经常需要Open with
在上下文菜单中搜索-dialog,因为上下文菜单似乎是按字母顺序排序的,因此,许多程序可能 - 而且将会 - 位于前面或后面它。
所以我想移到Open with
列表的顶部,如下所示:
因为我真的不喜欢那些弄乱我的注册表并带有各种 OpenCandy 之类的第三方程序,所以我想以老式的手动方式执行此操作 - 我立即遇到了问题。
一些谷歌搜索让我找到了这个名为“在 Windows 资源管理器上下文菜单中订购”的问题,这反过来又让我找到了这个 - 相当老 - 来自 MSDN 的博客文章,指出:
[...] 排序基于决策顺序中的以下元素:
密钥优先级(例如,txtfile、*、AFSO)
注册表枚举顺序,
shellex\contextmenuhandlers
静态动词的特殊情况总是在第一位
IContextMenu
实施顺序
我能想到的唯一解决方案是非常不优雅:重命名Open with
为1: Open with
或0pen with
. 我试过了,但不幸的是,这Open with
完全删除了(如:它不再在上下文菜单中)。
我在 SO-question 中读到的另一个解决方案是放置Open with
在上下文菜单的另一部分中。我也想避免这种情况,因为它只会略有帮助,因为程序的数量仍然会影响位置。
有没有什么办法可以Open with
通过手动方式(例如通过 Regedit 或 PowerShell)获得领先地位?
注意:对我来说,它出现在 之前还是之后并不重要Open
。
您可以在弹出窗口中添加Open with
下一个其他项并将其位置强制到弹出窗口的顶部,而不是在上下文菜单弹出窗口中更改常规项的位置,如下所示:HKCR\*\shellex\contextmenuhandlers
Open with
HKCR\*\shell
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\.OpenWith]
"Position"="Top"
[HKEY_CLASSES_ROOT\*\shell\.OpenWith\command]
@="{09799AFB-AD67-11d1-ABCD-00C04FC30936}"
Run Code Online (Sandbox Code Playgroud)
结果(带有文件的示例.png
):
要恢复更改,请阅读并遵循删除注册表项和值
要删除带有文件的注册表项
.reg
,请在文件中的RegistryPath-
前面放置一个连字符( ) 。.reg
.OpenWith
在这种情况下,要从注册表项中删除子项HKEY_CLASSES_ROOT\*\shell
,请使用:
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\*\shell\.OpenWith]
Run Code Online (Sandbox Code Playgroud)