Windows 7 的资源管理器使用带有“组织”、“共享”、“新建文件夹”等按钮的新浅蓝色栏。
如何创建新按钮?我是否需要为 explorer.exe 创建一个插件,如果,我该怎么做(使用 Visual Studio .NET)?
还是我必须设置指向 exe 或 bat 的简单注册表项?
提前致谢并致以最诚挚的问候
Windows 7 的资源管理器使用带有“组织”、“共享”、“新建文件夹”等按钮的新浅蓝色栏。
如何创建新按钮?我是否需要为 explorer.exe 创建一个插件,如果,我该怎么做(使用 Visual Studio .NET)?
还是我必须设置指向 exe 或 bat 的简单注册表项?
提前致谢并致以最诚挚的问候
这是一个注册表项,但不是那么简单。您必须执行几个步骤才能添加一个按钮。
您可能已经注意到 Win7 Explorer 会调整其工具栏以匹配正在显示的内容。例如,控制面板文件夹显示的按钮与文档或音乐库文件夹的按钮不同。您可以在注册表项下找到大量不同文件夹类型的列表
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes
单击此处显示的每个 UID 以找出它的文件夹类型。例如,在这里您可以看到通用库类型中的文件夹条目:
因此,您要做的第一件事就是找到要为其添加自己的按钮的文件夹类型。
找到正确的 UID 后,您可能必须拥有这些密钥的所有权。否则您将无法修改它们:右键单击该键并选择权限...
下一步是创建您自己的按钮所需的键和值:
TasksItemsSelected
TasksItemsSelected\0
TasksItemsSelected\0\<yourguid>
,然后添加字符串Title
并InfoTip
给它们适当的值。您还可以在此处设置图标,使用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