通过向注册表添加键,我了解了如何将右键单击上下文菜单项添加到中的文件中。也就是说,我可以右键单击资源管理器中的文件,并针对该文件运行自定义应用程序。
我想对一个文件夹做同样的事情,但我还没有找到一种方法。我看到了关于创建/编写自定义上下文菜单处理程序的文章,但我不想去那里。
我找到了一篇关于如何将级联上下文菜单项添加到桌面和资源管理器中的“计算机”的文章这里,但是这对任何文件夹都不起作用。
我希望能够将我的自定义应用程序添加到上下文菜单中,并让它同时工作在文件和文件夹上。有没有一种不需要编写上下文菜单处理程序就可以做到这一点的方法?
我在下面的文章中找到了解决方案,它描述了如何通过文件注册表和文件夹来实现这一点:
以下两篇文章提供了更多的信息和选择:
发布于 2015-04-21 10:13:24
在注册编辑器(regedit.exe
)中找到:
HKEY_CLASSES_ROOT\Directory\Background\shell
(如果您是管理员)HKEY_CURRENT_USER\Software\Classes\directory\Background\shell
HKEY_CLASSES_ROOT\Directory\shell
(如果您是管理员)HKEY_CURRENT_USER\Software\Classes\directory\shell
HKEY_CLASSES_ROOT\*\shell
(如果您是管理员)HKEY_CURRENT_USER\Software\Classes\*\shell
在所有情况下:
shell
下添加一个新键,将其命名为要命名上下文菜单项command
(强制名称)command
中的myprogrampath\path\path\executable.exe "%1"
属性,将所选文件的文件路径和名称传递给您的自定义程序(对于.../Directory/Background
和.../directory/Background
情况,使用%V
而不是%1
)更多定制:
icon
的字符串值,用于在步骤1中创建的键,其值与图标资源路径匹配。您还可以提供一个整数参数来指定使用哪个图标。示例:%SystemRoot%\System32\shell32.dll,3
Extended
的空字符串值Position
的字符串值,其中之一为:Top
,Bottom
发布于 2019-05-17 12:15:08
找到一个更干净、更容易、更快捷的解决方案:创建一个文本文件,用这些内容填充它,根据您的需要更新它,用.reg后缀保存并启动它(它不需要管理员私密性,因为它访问用户-注册表的一部分):
Windows Registry Editor Version 5.00
; Setup context menu item for click on right panel:
[HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\MenuItemNameBackground\command]
@="C:\\yourpath\\executable.exe \"%1\""
; Optional: specify an icon for the item:
; HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\MenuItemNameBackground]
;"icon"="C:\\yourpath\\appicon.ico"
; Optional: specify a position in the menu
; HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\MenuItemNameBackground]
;"position"="Bottom"
; -------------------------------------------------------------------------------------
; Setup context menu item for click on folders tree item:
[HKEY_CURRENT_USER\Software\Classes\directory\shell\MenuItemNamePanel\command]
@="C:\\yourpath\\executable.exe \"%1\""
; Optional: specify an icon for the item:
; [HKEY_CURRENT_USER\Software\Classes\directory\shell\MenuItemNamePanel]
;"icon"="C:\\yourpath\\appicon.ico"
; Optional: specify a position in the menu
; [HKEY_CURRENT_USER\Software\Classes\directory\shell\MenuItemNamePanel]
;"position"="Top"
通过这种方式,您还可以对配置进行备份:只需将.reg文件保存在安全的位置即可。如果您在启动文件后手动编辑注册表,右键单击并选择“导出”。
小心路径中的双后置空间:\
发布于 2016-07-06 15:41:33
我还在另一个主题中回答了这个问题,因为在这个问题上似乎没有太多的内容。
我发现最简单的方法是向名为"AppliesTo“的键中添加字符串值,并将其值设置为”下面:{path}“。
在我的示例中,我希望它只查看T驱动器,所以我的字符串值是“AppliesTo”:“下面:t:”。
在C#中,这很容易通过以下方法实现:
RegistryKey _key = Registry.ClassesRoot.OpenSubKey("Folder\\Shell", true);
RegistryKey newkey = _key.CreateSubKey("My Menu Item");
newkey.SetValue("AppliesTo", "under:T:");
RegistryKey subNewkey = newkey.CreateSubKey("Command");
subNewkey.SetValue("", "C:\\yourApplication.exe");
subNewkey.Close();
newkey.Close();
_key.Close();
https://stackoverflow.com/questions/20449316
复制相似问题