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

问题描述 投票:2回答:1

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

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

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

c# registry windows-explorer
1个回答
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. 要设置可选图标,请在以下位置创建字符串值IconHKEY_CLASSES_ROOT\*\shell\Open with MyThing 您可以将路径设置为图标,dll或exe - Windows将提取相应的图标并显示它。

对于:


.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\""
© www.soinside.com 2019 - 2024. All rights reserved.