有时候我们可能会想定制一些自己的右键菜单功能,帮我们减少重复的操作。那么使用控制台程序加自定义右键菜单,就可以很好地满足我们的需求。
1 编写控制台程序
因为我只用到了在文件夹中空白处的右键菜单,所以这里提供了一个对应的模板,可以获取右键菜单触发时的文件夹路径和名称。要注意注册表中的参数传递。不太清楚怎么创建控制台程序的话,可以参考 1、C# 开发环境搭建__长银的博客-CSDN博客
public static void Main(string[] args){if (args.Length > 0&&!string.IsNullOrWhiteSpace(args[0])){//获取文件夹路径string path=args[0];//获取文件夹名称string name = Path.GetFileName(path);//自定义操作}else{File.Create("error.txt");}}
2 配置注册表
打开注册表
根据我们想要菜单出现的位置,在对应的注册表项下新增项
- 空白处右键:
HKEY_CLASSES_ROOT/Directory/background/shell
- 文件夹右键:
HKEY_CLASSES_ROOT/Directory/shell
- 文件上右键:
HKEY_CLASSES_ROOT/*/shell
我这里是在HKEY_CLASSES_ROOT/Directory/background/shell下新增了对应的项及其值
"xxx\file.exe" "%V"
这里我们最好参考之前已经有的右键菜单的接口,照葫芦画瓢即可
当我们修改好注册表项后,就可以在右键菜单里看到对应的选项了。
参考文章 :
win10 给右键文件、文件夹、桌面菜单添加程序(项)_windows 10 添加程序到右键菜单_Mrceel的博客-CSDN博客
C# 添加windows右键菜单_c# system.windows.controls.contextmenu右键菜单加图标_scimence的博客-CSDN博客