2010-03-06 119 views
2

我一直在试图操纵我在窗口内右键单击使用注册表。 我设法在shell中添加单行。在Windows Shell中操作右键单击上下文菜单

[HKEY_CLASSES_ROOT\Directory\shell\Notepad 
[HKEY_CLASSES_ROOT\Directory\shell\notepad\Command]  
@="\"notepad.exe" \"%1\"" 

例如会启动记事本。

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

任何人有任何想法,我可以读这个,或有一个想法如何实际做到这一点?

+0

我对这个主题一无所知,但似乎使用支持的机制比在注册表中更好,因为注册表的内容可能会从发布到版本发生变化。你有没有研究过编写一个shell扩展? – asveikau 2010-03-06 22:45:28

回答

3

添加子菜单中,您将需要先添加菜单名称,如:

[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来获取用户点击的项目的名称。 这是为目录工作。应该正常工作的文件。

相关问题