zoukankan      html  css  js  c++  java
  • c#securityexception不允许所请求的注册表访问权

    开机自启动程序如下:

    if (!System.IO.File.Exists(filename))
                        throw new Exception("该文件不存在!");
                    string name = filename.Substring(filename.LastIndexOf("\") + 1);
                    reg = Registry.LocalMachine.OpenSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionRun", true);
                    if (reg == null)
                    {
                        reg = Registry.LocalMachine.CreateSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionRun");
                    }
                    if (isAutoRun)
                        reg.SetValue(name, filename);
                    else
                        reg.SetValue(name, false);

    然后弹出异常:securityexception不允许所请求的注册表访问权。

    找了好久都说什么权限不够,不是我需要的答案。解决方法如下:

    1、右键生成的exe应用程序,以管理员身份运行,如果没问题,就说明是可以访问修改注册表的;

    但是这样是不能用的,因为你重启后会直接弹出异常,说不允许所请求的注册表访问权 。问题还是没解决。

    2、一般在win7下,VS访问注册表HKEY_LOCAL_MACHINE,即程序中的LocalMachine是需要管理员身份运行的。但是访问HKEY_CURRENT_USER是没问题的。

    所以修改程序如下:

    ...

    reg = Registry.CurrentUser.OpenSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionRun", true);
                    if (reg == null)
                    {
                        reg = Registry.CurrentUser.CreateSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionRun");
                    }

    ...

    OK,可以了

  • 相关阅读:
    总结7.13 tp5模板布局
    总结7.13 tp5图像处理
    Flask数据库
    java学习day72-JT项目10(Nginx服务器/tomcat部署/数据库高可用)
    java学习day71-Linux学习(基本指令)
    java学习day71-JT项目09(Linux/JDK/Mariadb/tomcat部署)
    java学习day70-JT项目08(图片回显/Nginx)
    java学习day69-JT项目07-(商品/详情一对一操作//文件上传)
    java学习day68-JT项目06(商品curd)
    java学习day67-JT项目05(商品分类树结构显示)
  • 原文地址:https://www.cnblogs.com/yelanggu/p/14836546.html
Copyright © 2011-2022 走看看