我现在需要做一个程序来读取注册表中的信息, 
下面代码在管理员权限下面能够正常运行,IF判断为真.
但是我换到POWER USERS权限下面IF判断就为假了.
Reg:= TRegistry.Create ;  
Reg.RootKey := RootKey;
if reg.OpenKey(KeyToOpen, True) then
请问有什么办法能够在POWER USERS用户权限下面也能正常打开注册表吗?

解决方案 »

  1.   

    这个可能和WINDOWS操作系统中的设定有关,估计POWER USERS的权限不够,这个不是程序能处理的,需要有相应的权限才行的
      

  2.   

    谢谢一楼的回答,我做的是一个通过访问注册表获取系统软件信息的程序,系统用户只能给POWER USERS 权限.还有什么其他的办法来解决吗?
      

  3.   

    不知道LZ说的是不是必须要访问注册表,或者说你要取的信息只在注册表中,如果这样的话,你可以在程序里用runas的函数,重新以ADMIN身份登录一下,这样你就可以操作注册表了,但是需要ADMIN的密码,具体的实现我也不太清楚。系统软件程序本身会带版本、软件商、时间之类的信息,可以通过文件函数获取
      

  4.   

    在管理员用户下把注册表中的KeyToOpen导出,再在POWER USER用户下导入,试试看,可能不能导入