首页 新闻 会员 周边 捐助

C#利用Registry和RegistryKey获取不到自己设置注册表Local_Machine里的值

1
[已关闭问题] 关闭于 2019-10-17 15:14

1.这里是Local_Machine注册表里某一项

2.通过以下方法能获取到已定义的键值

3.右键新建一个键值

4.获取不到值

彭小立的主页 彭小立 | 小虾三级 | 园豆:634
提问于:2019-09-23 14:42
< >
分享
所有回答(2)
0

大佬好,想问下这个注册表到底是啥,改了干嘛用的??很急!万分求大神!感谢!!

大力神张文静 | 园豆:202 (菜鸟二级) | 2020-03-11 14:45
0

写注册表的程序的目标平台(x86/x64的那个)和当前这个获取注册表信息的程序目标平台不一致导致。改用RegistryKey.OpenBaseKey方法获取LocalMachine。如下:
RegistryKey advanced = null;
RegistryKey LM32 = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);
advanced = LM32.OpenSubKey(_advancedPath);
RegistryKey LM64 = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
advanced = LM64.OpenSubKey(_advancedPath);
其中一个必然能获取到

Mickey_ZP | 园豆:202 (菜鸟二级) | 2022-02-28 13:30

谢谢

支持(0) 反对(0) 朱然 | 园豆:200 (初学一级) | 2024-02-22 14:30

我的现象还不太一样 我是本地编译生成的文件可以正常修复注册表 但是发布后就不行。看到你说目标平台可能导致问题出现后修改了发布的目标平台为64位 果然就正常了 感谢大佬

支持(0) 反对(0) 呆呆牛 | 园豆:200 (初学一级) | 2024-06-11 14:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册