C#为所有文件类型向Windows资源管理器添加上下文菜单项

时间:2014-06-24 12:18:59

标签: c# registry windows-explorer

我正在编写一个应用程序,我需要修改Windows资源管理器的上下文菜单,这样我就可以在应用程序中调用一个方法,用于在Windows资源管理器中看到的所有文件/文件夹。

由于在stackoverflow(以及教程)上已经有很多关于如何为特定文件类型添加上下文菜单的帖子我已经知道通常通过将应用程序分配到注册表项的正确部分来完成那些文件类型。

由于我不想仅限于特定的文件类型,我的问题是:有什么办法吗? 将此新上下文菜单项分配给所有文件类型(除了遍历每个注册表项 以。。。开始 。并将应用程序分配给他们)?

1 个答案:

答案 0 :(得分:6)

是的,*类:

  1. 创建密钥:

    HKEY_CLASSES_ROOT\*\shell\Open with MyThing

  2. 创建子键:

    HKEY_CLASSES_ROOT\*\shell\Open with MyThing\command

  3. 默认值设置为命令行:

    C:\foo\myThing.exe "%1"

    (您也可以在此处添加固定值:C:\foo\myThing.exe "%1" /ranfromshell

  4. 要设置可选图标,请在以下位置创建字符串 Icon

    HKEY_CLASSES_ROOT\*\shell\Open with MyThing

    您可以在此处将路径设置为图标,dll或exe - Windows将提取相应的图标&显示它。


  5. 实施例

    cap1

    有关:

    cap2


    .REG

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\*\shell\Open with MyThing]
    "Icon"="C:\\foo\\myThing.exe"
    
    [HKEY_CLASSES_ROOT\*\shell\Open with MyThing\command]
    @="C:\\foo\\myThing.exe \"%1\""