Ela*_*lan 83 explorer contextmenu
我已经了解了如何通过向注册表添加密钥,在Windows资源管理器上向文件添加右键单击上下文菜单项.即我可以在资源管理器中右键单击文件并针对该文件运行自定义应用程序.
我想对一个文件夹做同样的事情,但还没有找到办法(尚).我看到有关创建/编写自定义上下文菜单处理程序的文章,但我宁愿不去那里.
我在这里找到了一篇关于如何将级联上下文菜单项添加到桌面和资源管理器中的"计算机"的文章,但这对任何文件夹都不起作用.
我希望能够将我的自定义应用程序添加到上下文菜单中,并使其适用于文件和文件夹.有没有办法在不编写上下文菜单处理程序的情况下执行此操作?
jum*_*ack 178
在所有情况下:
regedit.exe为在步骤1中创建的密钥命名的字符串值,其值与图标资源路径匹配.您还可以提供整数参数以指定要使用的图标.例:HKEY_CLASSES_ROOT\Directory\Background\shellHKEY_CURRENT_USER\Software\Classes\directory\Background\shell为在步骤1中创建的key 命名的空字符串值HKEY_CLASSES_ROOT\Directory\shell与一个:HKEY_CURRENT_USER\Software\Classes\directory\shell,HKEY_CLASSES_ROOT\*\shelljum*_*ack 12
找到了一个更简洁、更简单、更快速的解决方案:创建一个文本文件,用这些内容填充它,根据您的需要更新它,使用 .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"
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您还可以备份您的配置:只需将 .reg 文件保存在安全的地方。如果您在启动文件后手动编辑注册表,请右键单击并选择“导出”。
注意路径中的双退格:\\
我回去了,并在另一个主题中回答了这个问题,因为这个问题似乎没有特别多.
我发现最简单的方法是将一个字符串值添加到名为"AppliesTo"的键中,并将其值设置为"under:{path}"
在我的例子中,我希望它只查看T盘,所以我的String值为"AppliesTo":"under: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();
Run Code Online (Sandbox Code Playgroud)
我发现真正有效的唯一好的解决方案是:https://superuser.com/questions/1097054/shell-context-menu-registry-extension-doesnt-work-when-default-program-is-other
在 HKEY_CLASSES_ROOT\SystemFileAssociations\ your.extension \shell\command 中添加键并使用您想要执行的命令修改最后一个键。
就我而言,它是:
"C:\Program Files (x86)\GPSBabel\gpsbabel.exe" -r -i gpx -f "%1" -x simplify,count=1000 -o gpx -F "%1.gpx"
Run Code Online (Sandbox Code Playgroud)
如果我导出它,我会得到一个 .reg :
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\SystemFileAssociations\.gpx\shell\Simplify gpx\command]
@="\"C:\\Program Files (x86)\\GPSBabel\\gpsbabel.exe\" -r -i gpx -f \"%1\" -x simplify,count=1000 -o gpx -F \"%1.gpx\""
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78560 次 |
| 最近记录: |