/// <summary> /// 启动程序 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Main_Load(object sender, EventArgs e) { try { //获取传递的地址信息 string paramStr = Environment.CommandLine;//接收点击右键菜单传递的文件地址参数 string personalFolderPath = paramStr.Substring(paramStr.LastIndexOf(" ")+1);//获取文件路径 } catch { } finally { //注册系统右键菜单 MenuRight("用G-ZIP压缩/解压当前选择项(Z)......"); } } /// <summary> /// 注册启动程序到系统菜单右键方法 /// </summary> /// <param name="menuName">菜单名</param> private void MenuRight(string menuName) { //注册到文件 RegistryKey shell1 = Registry.ClassesRoot.CreateSubKey(@"*\shell"); RegistryKey custom1 = shell1.CreateSubKey(menuName); RegistryKey cmd1 = custom1.CreateSubKey("command"); cmd1.SetValue("", Application.ExecutablePath + " %1");//Application.ExecutablePath 是本程序自身的路径 %1是传入打开的文件路径 cmd1.Close(); custom1.Close(); shell1.Close(); //注册到目录 RegistryKey shell = Registry.ClassesRoot.CreateSubKey(@"directory\shell"); RegistryKey custom = shell.CreateSubKey(menuName); RegistryKey cmd = custom.CreateSubKey("command"); cmd.SetValue("", Application.ExecutablePath + " %1"); //%1 是传入打开的文件路径 cmd.Close(); custom.Close(); shell.Close(); }