C#将上下文菜单项添加到Windows资源管理器中的所有文件类型

Tho*_*mas 2 c# registry windows-explorer

我当前正在编写一个应用程序,需要修改Windows资源管理器的上下文菜单,以便可以在应用程序内调用一种方法,以在Windows资源管理器中看到的所有文件/文件夹上使用该方法。

由于关于如何为特定文件类型添加上下文菜单的大量关于stackoverflow的文章(以及教程),我已经知道通常通过将应用程序分配给这些文件类型的注册表项的正确部分来完成此操作。

因为我不想将自己仅限于特定的文件类型,所以我的问题是:是否有任何方法可以将此新的上下文菜单项分配给所有文件类型(除了通过。开头的每个注册表项并在那里将应用程序分配给它们) ?

Ale*_* K. 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将提取相应的图标并显示它。


第1章

对于:

第2章


.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\""
Run Code Online (Sandbox Code Playgroud)