问题描述
自己写了一个窗口程序,现在想把这个程序加入到系统鼠标右键中,即我鼠标右键点击xls或者xlsx的文件,会弹出一个选项,也就是我的程序。这个应该怎么加。还有,加的值能不能有多个参数。程序后面带了不同的参数会有不同的处理方式。
解决方案
解决方案二:
额,现在的csdn真菜,我问的几个问题全部都没人回答。哎。结贴publicvoidreg(){RegistryKeyreg;reg=Registry.ClassesRoot.OpenSubKey(@"HKEY_CLASSES_ROOT*shellOccupy",true);if(reg==null){reg=Registry.ClassesRoot;reg=reg.CreateSubKey(@"*shellOccupy");//创建新项myAppreg.SetValue("","占表");//设置项值reg=Registry.ClassesRoot;reg=reg.CreateSubKey(@"*shellOccupycommand");//创建新项commandreg.SetValue("",Application.ExecutablePath+"occupy%1"); //设置command的值reg=Registry.ClassesRoot;reg=reg.CreateSubKey(@"*shellFree");//创建新项myAppreg.SetValue("","释放表");//设置项值reg=Registry.ClassesRoot;reg=reg.CreateSubKey(@"*shellFreecommand");//创建新项commandreg.SetValue("",Application.ExecutablePath+"free%1"); //现只能给它执行一个程序了,想要让它触发程序中的一个事件//设置command的值reg.Close();}}把最关键的地方贴出来,方便以后的人查询。不需要像我一样白白花费一两天功夫搞这个。rsg=Registry.ClassesRoot.OpenSubKey(@"HKEY_CLASSES_ROOT*shellmyApp",true);这样操作会是rsg为null。而rsg=Registry.ClassesRoot;rsg=rsg.OpenSubKey(@"*shellmyApp",true);这样的话就能可以。目前还不知道为什么,有点莫名其妙。
解决方案三:
很简单,用Registry类,不过Class下写入需要权限。