小弟刚才学了下添加Windows右键菜单(鼠标右键文件或文件夹弹出的菜单),大概源码如下:////创建项:shell 
            RegistryKey shell = Registry.ClassesRoot.OpenSubKey(@"*shell", true);
            if (shell == null)
            {
                shell = Registry.ClassesRoot.CreateSubKey(@"*\shell");
            }
            RegistryKey custom = shell.CreateSubKey("鼠标右键菜单");
            RegistryKey cmd = custom.CreateSubKey("command");
            cmd.SetValue("", Application.ExecutablePath + " %1");
            //Application.ExecutablePath 是本程序自身的路径
            //%1 是传入打开的文件路径
            cmd.Close();
            custom.Close();
            shell.Close();执行后效果图:但是现在有个疑问,我怎么使用这个菜单功能呢?就是当点击这个菜单执行程序里面的某个功能。
如鼠标右键 txt文档,点击“打开”后自动执行记事本打开文档。给点思路

解决方案 »

  1.   

    在程序的Program.cs里面的Main()里面
    有一个参数string[] Args
    那么Args[0]就是传入的打开文件名。在Main中写
    void Main(string[] Args)
    {
        string filename = "";
        if (Args.GetLength(0) > 0) filename = Args[0];
        //打开filename文件
        ...
    }
      

  2.   

    需要你的程序支持命令行参数,main函数的参数中就是你点击的文件名,自己根据文件名处理吧
      

  3.   

    点击获得与打开获得应该有区别吧?打开可以用opendlg控件,但是右键点击获得貌似没见过这样的方法。
      

  4.   

    是我理解错了还是,我没说清楚?我说鼠标右键桌面某个文件(新建文件.txt),右键点击的时候获得文件名,这个文件名是我点击才能获得,首先是怎么样获得文件名。如果我知道文件名,谁都知道把文件名传进去就可以了。