现在有一个System权限的程序,在程序中有对HKEY_CURRENT_USER项进行访问的代码,但是访问都失败,而访问HKEY_LOCAL_MACHINE却可以,这是为什么啊?  不是说system权限比administrator权限还大吗,我要如何才能实现System权限访问HKEY_CURRENT_USER?

解决方案 »

  1.   

    HKEY_CURRENT_USER是当前用户的一个配置值,相对的来说当前用户,如果你登录使用的是Administrator那么当前用户就是Admin...,反之SYSTEM启动的程序,那么当前用户就是SYSTEM。就好比,张三说“我的右手”,和你说的“我的右手”,由于主体不同,所以指的事物也就不同了。在这当中,你同张三之间跟权限有关系吗?
      

  2.   

    unsigned(僵哥(为什么我会到这里来……)) :
      按照你说的,system权限的程序是不能对HKEY_CURRENT_USER下的子项进行访问和编辑的,
    但是如果把regedit.exe程序以system权限打开的话,在HKEY_CURRENT_USER下面可以手工添加修改键值,但是通过程序的方式就不可以,这又是为什么???
      

  3.   

    按照你说的,system权限的程序是不能对HKEY_CURRENT_USER下的子项进行访问和编辑的,
    但是如果把regedit.exe程序以system权限打开的话,在HKEY_CURRENT_USER下面可以手工添加修改键值,但是通过程序的方式就不可以,这又是为什么???
    ============================================
    要注意的是SYSTEM权限,和SYSTEM帐户是两码事情.