0

Windows 7 的资源管理器使用带有“组织”、“共享”、“新建文件夹”等按钮的新浅蓝色栏。

如何创建新按钮?我是否需要为 explorer.exe 创建一个插件,如果,我该怎么做(使用 Visual Studio .NET)?

还是我必须设置指向 exe 或 bat 的简单注册表项?

提前致谢并致以最诚挚的问候

4

1 回答 1

3

这是一个注册表项,但不是那么简单。您必须执行几个步骤才能添加一个按钮。

您可能已经注意到 Win7 Explorer 会调整其工具栏以匹配正在显示的内容。例如,控制面板文件夹显示的按钮与文档或音乐库文件夹的按钮不同。您可以在注册表项下找到大量不同文件夹类型的列表

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes

单击此处显示的每个 UID 以找出它的文件夹类型。例如,在这里您可以看到通用库类型中的文件夹条目: 通用库类型,注册表项

因此,您要做的第一件事就是找到要为其添加自己的按钮的文件夹类型。

找到正确的 UID 后,您可能必须拥有这些密钥的所有权。否则您将无法修改它们:右键单击该键并选择权限...

  1. 单击高级按钮。
  2. 单击所有者选项卡。
  3. 在将所有者更改为:选择管理员。
    单击应用并验证“当前所​​有者”是否设置为管理员。单击确定以保存更改。
  4. 返回“权限”对话框,单击“管理员”,然后单击(检查)完全控制
  5. 单击确定保存设置并关闭对话框。

下一步是创建您自己的按钮所需的键和值:

  • 添加新密钥,TasksItemsSelected
  • 添加新密钥,TasksItemsSelected\0
  • 为您的命令创建一个新的 GUID(使用 guidgen.exe)。
  • 添加 key TasksItemsSelected\0\<yourguid>,然后添加字符串TitleInfoTip给它们适当的值。您还可以在此处设置图标,使用Icon带有指向图标文件的值的字符串。
  • 添加密钥TasksItemsSelected\0\<yourguid>\shell\InvokeTask\command
  • 作为命令键的默认值,输入要执行的命令。

现在您的注册表项应如下所示: 标题和信息提示 命令

当命令运行时,它会收到至少两个参数值。

  %1 -- The path of the folder that was being displayed
  %2 -- The pathname of the file that was selected.

如果在单击 mycommand 按钮之前选择了多个文件,则后续文件名将在后续参数中。

最后但并非最不重要的一点是:如果您想在未选择任何内容的情况下添加自己的按钮,请按照上述所有操作,但使用注册表项TasksNoItemsSelected而不是TasksItemsSelected

于 2011-01-30T12:17:03.307 回答