如何创建采用动态的Windows资源管理器命令栏工具 字符串?
我已经知道如何将我的工具添加到命令栏并单击执行命令。
但是我需要一个像组织之后的第二个工具栏。
当我点击我的工具的文件名时,我需要的是我的工具 - 文件名(selected.txt)或我的工具 - 选定的文件扩展名(.txt)< / em>的
有没有人知道如何做到这一点?
答案 0 :(得分:3)
1)创建一个shell扩展。您的shell扩展必须实现IInitializeCommand,IObjectWithSite,IObjectWithSelection,IExplorerCommand和IExplorerCommandState。
2)注册你的shell扩展名:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\YourCommandID]
@=YourTopCommandCaption
ExplorerCommandHandler=YourCLSID
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{5c4f28b5-f869-4e84-8e60-f11db97c5cc7}\TasksItemsSelected]
@=YourCommandID
如果TasksItemsSelected键的默认值不为空,则必须将旧字符串添加到旧字符串!例如,prev值是Windows.copy,新的必须是Windows.copy; YourCommandID
{5c4f28b5-f869-4e84-8e60-f11db97c5cc7}是FOLDERTYPEID_Generic。
3)IExplorerCommand.GetFlags必须返回ECF_HASSUBCOMMANDS或ECF_ISDROPDOWN
4)IExplorerCommand.EnumSubCommands必须返回对象实现IEnumExplorerCommand
5)IEnumExplorerCommand.Next必须返回对象实现IExplorerCommand,IObjectWithSite和IObjectWithSelection。每个对象都是子菜单的单个命令。
仅适用于Win7。