代码之家  ›  专栏  ›  技术社区  ›  Atmocreations

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

  •  0
  • Atmocreations  · 技术社区  · 14 年前

    Windows7的资源管理器使用一个新的浅蓝色条,带有“组织”、“共享”、“新建文件夹”等按钮。

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

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

    事先谢谢,并致以最良好的祝愿

    1 回复  |  直到 13 年前
        1
  •  3
  •   Stefan    13 年前

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

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

    hklm\software\microsoft\windows\currentversion\explorer\foldertypes
    < /代码> 
    
    

    单击此处显示的每个uid以了解它是用于哪个文件夹类型的。例如,在这里您可以看到通用库类型中文件夹的条目:

    因此,首先要做的是找到要为其添加自己按钮的文件夹类型。

    一旦你找到了正确的身份识别码,你可能就必须拥有那些钥匙。否则,您将无法修改它们: 右键单击该键并选择“权限…”。

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

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

    • 添加新密钥,tasksitemsselected
    • 添加新密钥,tasksitemsselected\0
    • 为您的命令创建一个新的guid(使用guidgen.exe)。
    • 添加键tasksitemsselected\0\<yourguid>,然后添加字符串titleandinfotipand give them the appropriate values.您也可以使用字符串icon在此处设置图标,其值指向图标文件。
    • 添加键tasksitemsselected\0\<yourguid>\shell\invoketask\command
    • 作为命令键的默认值,输入要执行的命令。

    现在,您的注册表项应该如下所示:

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

    %1--正在显示的文件夹的路径
    %2——所选文件的路径名。
    < /代码> 
    
    

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

    最后但并非最不重要的是:如果要为未选择任何内容的情况添加自己的按钮,请按照上述步骤执行所有操作,但请使用注册表项tasksnoitemsselected而不是tasksitemsselected

    NE按钮。

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

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

    单击此处显示的每个uid以了解它是用于哪个文件夹类型的。例如,在这里您可以看到通用库类型中文件夹的条目: generic library type, registry keys

    因此,首先要做的是找到要为其添加自己按钮的文件夹类型。

    一旦你找到了正确的身份识别码,你可能就必须拥有那些钥匙。否则,您将无法修改它们: 右键单击该键并选择“权限”…

    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而不是已选择任务站点