日期:2014-05-16  浏览次数:21441 次

CreateSubKey创建注册表项失败,但是并没有抛出异常
我用win7+VS2012写了一小段C#的代码。我想在LOCALMACHINE\SOFTWARE下面建立一个叫做my的子目录,然后给一个键值对"my1"=3,DWORD类型

            RegistryKey key = null;
            try
            {
                key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\my");
                key.SetValue("my1", 3);
            }
            catch (Exception e) 
            {
                Console.WriteLine(e.ToString());
            }
            finally
            {
                if(null != key)key.Close();
                else Console.WriteLine("failed");
            }        

运行的结果是,什么错误也没有报告。但是我重新打开注册表看,LOCALMACHINE\SOFTWARE下面并没有一个我想要的my。我的代码有什么问题呢?

多谢。
------解决方案--------------------
  我使用你的编码运行会提示:对注册表项“HKEY_LOCAL_MACHINE\Software\M”的访问被拒绝。
 另外在 Catch 块中,我觉得使用  Console.WriteLine(e.Message);  还直观些,而不使用e.ToString()