1

如何创建采用动态字符串的 Windows 资源管理器命令栏工具?

我已经知道如何将我的工具添加到命令栏并在单击时执行命令。

在此处输入图像描述

但我需要像Organize之后的第二个工具栏。

当我单击工具的文件名时,我需要像My Tool - File name (selected.txt)My Tool - Selected File Extension (.txt)一样。

有谁知道如何做到这一点?

4

1 回答 1

3

1)创建一个外壳扩展。你的 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。

于 2014-09-22T14:01:02.373 回答