C#控制台程序+Window增加右键菜单

有时候我们可能会想定制一些自己的右键菜单功能,帮我们减少重复的操作。那么使用控制台程序加自定义右键菜单,就可以很好地满足我们的需求。

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 配置注册表

打开注册表

C#控制台程序+Window增加右键菜单_第1张图片

 根据我们想要菜单出现的位置,在对应的注册表项下新增项

  • 空白处右键: 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"

这里我们最好参考之前已经有的右键菜单的接口,照葫芦画瓢即可

C#控制台程序+Window增加右键菜单_第2张图片

 

当我们修改好注册表项后,就可以在右键菜单里看到对应的选项了。

参考文章 :

win10 给右键文件、文件夹、桌面菜单添加程序(项)_windows 10 添加程序到右键菜单_Mrceel的博客-CSDN博客
C# 添加windows右键菜单_c# system.windows.controls.contextmenu右键菜单加图标_scimence的博客-CSDN博客
 

你可能感兴趣的:(C#基础知识入门,c#,window右键菜单,控制台应用程序)