在Windows Shell中操作右键上下文菜单

4
我一直在尝试使用注册表来操纵Windows中的右键单击。我成功地在shell中添加了单行内容。
[HKEY_CLASSES_ROOT\Directory\shell\Notepad
[HKEY_CLASSES_ROOT\Directory\shell\notepad\Command]    
@="\"notepad.exe" \"%1\""

例如,启动记事本。

现在,我真正想要的是上下文菜单中的子目录。

有没有人知道我可以在哪里阅读这方面的内容,或者有没有实际操作的想法?


我对这个话题一无所知,但似乎使用支持的机制比戳寻常的注册表更好,因为后者可能会在发布版本之间发生变化。你考虑过编写一个 shell 扩展吗? - asveikau
2个回答

5
要添加子菜单,您需要首先添加菜单名称,例如:

要添加子菜单,您需要首先添加菜单名称,例如:

[HKEY_CLASSES_ROOT\Directory\shell\Notepad]
"SubCommands"="command1;command2;"
"MUIVerb"="Notepads"
"Position"="-"

子命令是关键。每个命令实际上是对另一个注册表项的引用。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\command1]
@="command1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\command1\command]
@="C:\\Windows\\System32\\cmd.exe"





[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\command2]
    @="command2"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\command2\command]
    @="C:\\Windows\\System32\\cmd.exe \K cd %1"

这将在单击目录时给您提供一个子上下文菜单。 您可以在命令中使用%1来获取用户点击的项目的名称。 这适用于目录,对于文件也应该没问题。

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接