我想读取和修改我的NetworkAddress的注册表项值。它在注册表路径是:如何设置或从注册表中获取NetworkAddress密钥
HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \控制\ {类4D36E972-E325-11CE-BFC1-08002BE10318} \ 0011
那个路径里面有一个名为NetworkAddress的关键。我如何阅读和修改此密钥?
这是我曾尝试:
RegistryKey myKey = Registry.LocalMachine.OpenSubKey(@"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0011",true);
MessageBox.Show((string) myKey.GetValue("NetworkAddress"));
myKey.SetValue("NetworkAddress", "002408B2A2D2", RegistryValueKind.String);
我曾尝试此代码,它给我这个异常:未设置为一个对象的实例对象引用。我该如何解决这个问题?请帮助我,谢谢。
因为工厂方法找不到指定位置的键并返回'null',所以您正在接收异常。 – 2013-04-26 17:13:55
是的我知道,但关键是现有的位置,并确保我在正确的路径我从注册表直接复制目的地 我认为这是一个权限问题? – Yasser 2013-04-26 17:24:06
如果您没有足够的权限访问注册表项,则会抛出System.Security.Security异常。我认为你需要提升特权才能写入LOCAL_MACHINE关键配置单元。 – 2013-04-26 17:26:35