2011-12-09 154 views
1

我一直在編寫實用程序,並通過*的Shell鍵上的Regedit將它們映射到上下文菜單,但我無法弄清楚如何使子菜單像一些更受歡迎的實用程序一樣。如何在Windows中創建上下文菜單子菜單?

例如,如果我有三個腳本將文件移動和重命名爲三個不同的文件夾,現在我有三個不同的上下文菜單條目。我希望有一個名爲「移動和重命名...」的擴展到三個。

回答

0

您尚未指定您正在使用的語言。無論如何,你需要做的是編寫一個Shell Extension。有一個指南,here

正如David所指出的那樣,在C#This blog post中解釋它是不可能的。

+0

即使在.net 4中也不支持編寫託管外殼擴展。 –

+0

@DavidHeffernan,感謝您的澄清。 –

+0

使用.net 4刪除了特定的阻塞(並排運行時),但仍然存在代碼注入問題。由於這個原因,MS不支持託管外殼擴展。 –

1

您可以通過註冊表中創建一個子菜單上下文菜單,WIN 7所看到here

備份您的註冊表第一推薦!

本示例將帶有單個命令的子菜單放入任何文件(不是文件夾或桌面)上的右鍵上下文中。

菜單:

[HKEY_CLASSES_ROOT\*\shell\Custom Menu] 
"MUIVerb"="Custom Tools" 
"SubCommands"="Custom.copytoclip" 

的命令:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Custom.copytoclip] 
@="copytoclip description here" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Custom.copytoclip\command] 
@="cmd /c clip < %1" 

請小心編輯註冊表,Windows的其他版本可能不同的方式工作。