C# 快速定位注册表

    今天端午节,公司放了一天假,正好趁这个时间,就来整理一下自己的学习笔记………… ­

    “C#快速定位注册表” 也是我最近在弄一项程序时,遇到的一个大难题,从网上找好了好久,从QQ群里问了N多人也没有好的解决办法,所以一直很烦………… ­

    昨天,还是为了整那个程序忙到很晚,一直往返于 MSND 、 CSND 和测试注册表中,还是无果………… ­

    但也并不是徒劳无功………… ­

    我无意中发现,注册表每次打开后关闭时,再打开注册表,他都会定位到你前次关闭时的那个表项, 测试多次后,证实了我的猜想,这就说明,肯定在什么地方记录了你每次关闭注册表时打开最后项的位置,然后在下次打开这个注册表时,就可以快速定位到你上次打开注册表而关闭时的那项(当然现在还只是我的猜想而以)。 ­

    为了证实我的猜想,我找了有关注册表的一些资料 ­

 

­图片

从上面可知,用户每运行一个应用程序,注册表都提供应用程序信息给操作系统。我在想,那注册表自己会不会也对自己记录了相关的信息呢,答案是肯定的。我在注册表中找到注册表对自己记录的一些相关信息, ­

 

 

­图片

­

 

[HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Applets/Regedit] ­

"View"=hex:2c,00,00,00,00,00,00,00,01,00,00,00,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,/ ­

  ff,ff,ff,ff,ff,ff,51,01,00,00,f6,01,00,00,9e,04,00,00,f4,03,00,00,27,01,00,/ ­

  00,78,00,00,00,78,00,00,00,20,01,00,00,01,00,00,00 ­

"FindFlags"=dword:00000006 ­

"LastKey"="我的电脑[url=file://HKEY_CURRENT_USER//Software//Microsoft//Windows//CurrentVersion//Applets//Regedit]//HKEY_CURRENT_USER//Software//Microsoft//Windows//CurrentVersion//Applets//Regedit[/url]" ­

从LastKey 中,我猜想这就是我要的答案了,LastKey的键值就是记录了每次关闭注册表时打开最后项的位置。为了提供更有立的证据,我用C# 写了一个测试软件,我分别四次打开注册表再关闭了注册表 ­

 

­图片

用软件得到了下面的 四次不同的结果 ­

 

我的电脑/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Applets/SysTray ­

我的电脑/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Group Policy ­

我的电脑/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/ShellServiceObjectDelayLoad ­

我的电脑/HKEY_CURRENT_USER/Software/Microsoft/Windows Script Host

­

因此我更加确定我的猜想。 ­

    说到这里,基本上我们可以确定了《快速定位注册表的》一个思路,---当我们要定位到注册表的哪项时,首先把 ­

[HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Applets/Regedit]下在的 LastKey 的键值改为我们想要定位的地方,例如,我想定位到启动项,我就要把LastKey 的键值改为 我的电脑[url=file:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run]//HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run[/url] 再启动注册表,那他就会速打开我们指定的注册表项! ­

    好了,到这里,我想大家基本上明白了。 ­

    当然,我知道肯定有更好的办法,来快速定位注册表,只是我没有找到。如果你有更好的办法,请麻烦发一份给我,在这里感激不尽…………………… ­

                                                                               --------文章转载请注明阿龙 ­

­

最后作品­

­

 

­图片

­­

­

 

­

 

­

­

­

­

­

­

­

­

­

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值