繁体   English   中英

在 Windows Explorer 上下文菜单中订购

[英]Order in the Windows Explorer context menu

如何更改上下文菜单中条目的顺序?(例如,对于目录)我需要知道 Windows 在显示时如何确定顺序,以便我可以控制它。 例如,我想将自定义操作放在上下文菜单列表的末尾

预先感谢!

我的 Google-fu 引导我这样做

所以排序是基于以下元素的决策顺序:

  1. 关键优先级(例如,txtfile、*、AFSO)
  2. shellex\contextmenuhandlers 的注册表枚举顺序,其中 static 动词的特殊情况总是在前
  3. IContextMenu 实现顺序

因此,如果对 position 有任何争用,则扩展没有一致的方法来保证其在菜单中的相对 position。

显然你不能对阶段 1 做任何事情。阶段 3 只适用于在你的处理程序中实现的动词。 这留下了第 2 阶段。您唯一能做的就是在 ContextMenuHandlers 下命名您的条目,以便首先枚举它,但没有什么能阻止其他人做同样的事情。

这适用于 Windows 7,可能与较新版本相同。 它受到其他答案的启发,一切都在影响顺序。

我正在解释“*”(所有文件)的条目,但对于特殊扩展名也是如此。

我对注册表中的任何更改不承担任何责任!

上下文菜单中有三个部分,如如何更改上下文菜单中的选项顺序中所述(来自@Anonymous 的回答

他们称他们为:

2 - Default menu position (at the top).
1 - Send to, copy to folder and move to folder menu part (in the middle).
0 - Rename menu part (at the bottom).

在这些部分中,position由@Luke 回答的规则决定
在“部分”中更改顺序的最简单方法是更改HKCR-*-shellHKCR-*-shellex下的注册表项的名称。 子项shell下的所有内容都将在shellex下。 CLSID作为键名的键将作为最后一个条目,因为它们在使用顺序中排在最后。

例如,我正在按照MSDN 中的示例构建上下文菜单处理程序
编辑 2021-04-14: MSDN 链接不再有效,它重定向到“浏览代码示例”页面。 您可以在那里搜索Context menu sample ,但我关注的那个似乎已被删除。
最接近我关注的旧的可能是这个

我遵循的方法是使用CLSID作为shellex下键的名称,并使用“友好名称”作为默认值。 它被放置在“部分”2(顶部)的底部。 我将键名更改为Asample之类的名称,并将默认值更改为CLSID 现在它直接在shell下的条目之后。

还有一些改变顺序的方法。

对于shell下的键,您可以将值Position与字符串数据TopBottom添加。 无法决定在哪个“部分”。

对于shellex下的键,值Position无效。 相反,可以决定条目将在哪个“部分”使用flags如上面的链接中所述。

  1. 为要移动的 shellext 使用CLSID 就像是
    {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} 从键名或默认值中获取它,这取决于条目是如何完成的。
  2. 找到 HKCR-CLSID 下的条目,该键具有CLSID的名称。
  3. 在找到的CLSID下添加一个带有名称flags和数据DWORD的值,上面描述的“节”号。

此问答展示了一种在上下文菜单中创建(而不是移动)项目的简单方法。 我设法复制了一个现有项目。 然后我将我的项目移动到上下文菜单中更高且更易于访问的 position,方法是将密钥重命名为以“aMyItem”或“0MyItem”开头。

这是为我做的......步骤4到7 - 设置“标志” http://techoqueries.blogspot.de/2012/08/how-to-change-order-of-options-in.html

我一直在试图找到一种重新订购东西的方法,这让我很恼火,日常使用选项被推到最后,当你可能会在蓝月亮中使用一次的晦涩实用程序填满列表的顶部时。

我找到了一种懒惰的方法来做到这一点,使用一个名为“Windows 10 管理器” Windows 10 管理器的小实用程序 package - 它只需几英镑,但比注册表黑客攻击容易得多。 它不能做所有事情,但它确实让你至少可以将项目添加到顶部 - 并且还可以压制那些不经询问就安装在那里的厚脸皮的项目。 显示修改后的上下文菜单的示例

如您所见,它实际上是复制了一些条目而不是移动它们,但没关系。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM