Windows资源管理器:如何创建其他按钮?

时间:2010-01-29 11:18:02

标签: visual-studio windows-7 plugins windows-explorer

Windows 7的资源管理器使用一个新的浅蓝色条,其中包含“组织”,“共享”,“新文件夹”等按钮。

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

或者它是一个简单的注册表项我必须设置哪个指向exe或bat?

提前致谢并提出最好的问候

1 个答案:

答案 0 :(得分:3)

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

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

下找到大量不同文件夹类型的列表
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes

单击此处显示的每个UID,找出它所适用的文件夹类型。例如,您可以在此处看到通用库类型中文件夹的条目: generic library type, registry keys

所以你要做的第一件事就是找到你想要添加自己按钮的文件夹类型。

找到正确的UID后,您可能需要获得这些密钥的所有权。否则你将无法修改它们: 右键单击该键,然后选择Permisssions ...

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

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

    现在您的注册表项应如下所示: title and infotip command

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

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

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

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