如何使用 AppliesTo 字符串从自定义右键菜单条目中排除库?

如何使用 AppliesTo 字符串从自定义右键菜单条目中排除库?

我想添加自定义上下文菜单项,以便在右键单击目录或目录背景时打开管理员命令提示符。我从 tenforums 借用了注册表修改代码(如下所示),效果很好。

但是,我发现命令提示符上下文菜单也添加到了库文件夹和背景中。似乎无法以这种方式打开像库这样的硬链接的命令 shell 窗口。请注意,没有为 HKCR\LibraryFolder\Background\Shell、HKCR\AllFileSystemObjects\Shell 或 HKCR\Folder\Shell 子项输入任何注册表信息。

我想排除 Libraries 和 Library 背景以使其不显示命令提示符上下文菜单,我想我可以使用 AppliesTo 字符串来实现这一点,但不知道值的正确语法。如果我简单地将值为“NOT Libraries”的 AppliesTo 字符串添加到 HKCR\Directory\shell\CommandPrompt\shell\cmdadmin 和/或 Directory\Background\Background\shell\CommandPrompt\shell\cmdadmin 子键,则所有文件夹和/或文件夹背景的右键单击菜单条目都会消失。

问题:

  1. 从库文件夹和库背景中排除自定义上下文菜单项的 AppliesTo 字符串值的正确格式/语法是什么?
  2. AppliesTo 字符串是否需要添加到 HKCR\Directory 或 HKCR\Directory\Background 或两个键中?

谢谢!

代码来源

[HKEY_CLASSES_ROOT\Directory\shell\CommandPrompt\shell\cmdadmin]
@="Open here as administrator"
"HasLUAShield"=""
"Icon"="imageres.dll,-5324"

[HKEY_CLASSES_ROOT\Directory\shell\CommandPrompt\shell\cmdadmin\command]
@="cmd /c echo|set/p=\"%V\"|powershell -NoP -W 1 -NonI -NoL \"SaPs 'cmd' -Args '/c \"\"\"cd /d',$([char]34+$Input+[char]34),'^&^& start /b cmd.exe\"\"\"' -Verb RunAs\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\CommandPrompt\shell\cmdadmin]
@="Open here as administrator"
"HasLUAShield"=""
"Icon"="imageres.dll,-5324"

[HKEY_CLASSES_ROOT\Directory\Background\shell\CommandPrompt\shell\cmdadmin\command]
@="cmd /c echo|set/p=\"%V\"|powershell -NoP -W 1 -NonI -NoL \"SaPs 'cmd' -Args '/c \"\"\"cd /d',$([char]34+$Input+[char]34),'^&^& start /b cmd.exe\"\"\"' -Verb RunAs\"" 

相关内容