如何创建采用动态 字符串的Windows资源管理器命令栏工具?使用Dynamic Verb将自定义工具添加到Windows命令栏
我已经知道如何将我的工具添加到命令栏并单击执行该命令。
但我需要后,如第二个工具栏组织。
我需要的,当我点击我的工具的文件名是这样我的工具 - 文件名(selected.txt)或我的工具 - 选定的文件扩展名文件(.txt)。
有没有人有关于如何做到这一点的想法?
如何创建采用动态 字符串的Windows资源管理器命令栏工具?使用Dynamic Verb将自定义工具添加到Windows命令栏
我已经知道如何将我的工具添加到命令栏并单击执行该命令。
但我需要后,如第二个工具栏组织。
我需要的,当我点击我的工具的文件名是这样我的工具 - 文件名(selected.txt)或我的工具 - 选定的文件扩展名文件(.txt)。
有没有人有关于如何做到这一点的想法?
1)创建一个shell扩展。你的shell扩展必须实现IInitializeCommand,IObjectWithSite,IObjectWithSelection,IExplorerCommand和IExplorerCommandState。
2)注册您的外壳扩展:
[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。
此外,还必须有一种方法,如何在那里添加图标 – GeekUser 2014-10-11 10:13:52