用registrykey打开注册表的问题

leo9239339 2010-11-03 06:37:06
我的电脑上用cmd下的RegEdit查看,在注册表中明明就有SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.ape的键,但是为什么我用下面代码打开的时候返回过来的Rkey却为空呢?
RegistryKey Rkey = R.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RecentDocs\\.ape"
...全文
206 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
leo9239339 2010-11-03
  • 打赏
  • 举报
回复
我知道了,正如8楼所说,我没有用currentuser
leo9239339 2010-11-03
  • 打赏
  • 举报
回复
RegistryKey Rkey = R.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RecentDocs");
的时候不能
但是我在RegEdit下面查看的时候有.ape

机器人 2010-11-03
  • 打赏
  • 举报
回复
你看看这一层的时候,能否看到.ape?
RegistryKey Rkey = R.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RecentDocs");

foreach(var str in Rkey.GetSubKeyNames())
Console.WriteLine(str);


权限设置:

[assembly:RegistryPermissionAttribute(SecurityAction.RequestMinimum,
Read="HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RecentDocs")]
Teng_s2000 2010-11-03
  • 打赏
  • 举报
回复

RegistryKey registry=Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs\.cs");

看看是不是使用的CurrentUser
wodiaozuida1234565 2010-11-03
  • 打赏
  • 举报
回复
学习而来!
leo9239339 2010-11-03
  • 打赏
  • 举报
回复
我的意思是.ape不是最下层的,他下面还有键
leo9239339 2010-11-03
  • 打赏
  • 举报
回复
.ape是一个键,并不是值,要获取值才用getvalue而要.ape下面的才有值

还有就是要提升权限的话 C#里面该这么做呢?
机器人 2010-11-03
  • 打赏
  • 举报
回复
string value = Rkey.GetValue(".ape");
机器人 2010-11-03
  • 打赏
  • 举报
回复
看错,sorry,最下层要用GetValue

RegistryKey Rkey = R.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\RecentDocs");
string value = recentsDocs.GetValue("ViewStream");


机器人 2010-11-03
  • 打赏
  • 举报
回复
查注册表要递归。。。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧