2010-01-29 41 views
0

Windows 7的资源管理器使用带有“组织”,“共享”,“新文件夹”等按钮的新的浅蓝色条。Windows资源管理器:如何创建其他按钮?

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

或者它是一个简单的注册表键我必须设置哪些指向exe或蝙蝠?

提前感谢和问候

回答

3

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

您可能已经注意到,Win7资源管理器调整其工具栏以匹配正在显示的内容。例如,控制面板文件夹显示的按钮与文档或音乐库文件夹不同。你可以找到不同的文件夹类型的大名单中的注册表项

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

点击有显示的每个UID下,找出哪些文件夹类型它是。例如,你在这里看到的通用库类型文件夹中的条目: generic library type, registry keys

所以,你必须做的第一件事是找到您要添加自己的按钮,在文件夹类型。

一旦你找到了正确的UID,你可能必须获得这些密钥的所有权。否则,您将无法修改它们: 右键单击该密钥并选择允许...

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

下一个步骤是创建密钥,并为自己的按钮值必需的:

  • 添加一个新的关键,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

+0

作品!非常感谢详细的回复=) – Atmocreations 2011-02-05 14:40:22

相关问题