当前位置: 代码迷 >> .NET Framework >> c# 无法写入注册表解决方案
  详细解决方案

c# 无法写入注册表解决方案

热度:105   发布时间:2016-05-01 23:26:47.0
c# 无法写入注册表
这段代码以前还可以的,后来就不能执行了,执行完后,也返回true了,但注册表里没有任何东西 

  /// <summary>
     /// 创建注册表
     /// </summary>
     /// <param name="keyname"></param>
     /// <param name="keyvalue"></param>
public bool  createRegedit(string keyname, string keyvalue)
     {
         try
         {
             RegistryKey lm = Registry.LocalMachine;

             //对应HKEY_LOCAL_MACHINE基项分支

             RegistryKey software = lm.OpenSubKey("SOFTWARE");
             RegistryKey microsoft = software.OpenSubKey("Microsoft");
             RegistryKey internetExplorer = microsoft.OpenSubKey("Internet Explorer");
             RegistryKey main = internetExplorer.OpenSubKey("Main");
             RegistryKey featureControl = main.OpenSubKey(@"FeatureControl",true);
             if (featureControl.SubKeyCount == 0) {
                 
                 RegistryKey featre = featureControl.CreateSubKey("FEATURE_BROWSER_EMULATION");
             }
             

             RegistryKey featrueBrowser = featureControl.OpenSubKey(@"FEATURE_BROWSER_EMULATION", true);
             Int32 tempInt = 0;
             unchecked
             {
                 tempInt = Convert.ToInt32(keyvalue, 16);
             }
             featrueBrowser.SetValue(keyname, keyvalue, RegistryValueKind.DWord);

             //在该项下创建一个键位Version,键值为.23          

             lm.Close();//关闭
             return true;
         }
         catch(Exception ex) {
             string aa = ex.Message.ToString();
             return false;
         }
     }
------解决思路----------------------
是不是杀毒软件作怪
------解决思路----------------------


有的电脑行有的电脑不行,
电脑行的你是装在XP下的是可以的,如果装在WIN764下或WIn8下 那就要用到管理员权限。要让软件运行在以管理员权限运行才可以
------解决思路----------------------
是不是给安全监控软件给拦截了?
------解决思路----------------------
以管理员身份运行你这个程序试一下
  相关解决方案