NT服务程序中对注册表中HKey_Current_User读取的问题

类别:Delphi 点击:0 评论:0 推荐:

我做了一个NT服务程序,要读取注册表中的一些信息,我将信息写入HKey_Current_User下的SoftWare键下的一个自建的子目录下。形如:
HKEY_CURRENT_USER\Software\xxxxx
有一个单独的参数设置程序。可是我发现自已在设置程序中设置的参数,在Windows系统服务中读不出来。后来发现其原因如下。

系统服务运行在不同的用户帐户下,
HKey_Current_User是HKey_Users结构中某些键的一个别名。系统服务的注册键是在HKey_Users\.Default下。注册表中其它的主键是共亨的,只的HKey_Current_User是根据不同的用户映射到不同的地方。

如果在想要给的系统服务一个真正的用户帐号,需要在服务面板上设置。

RootKey := HKEY_CURRENT_USER;

后来,我改在HKEY_LOCAL_MACHINE\Software\xxxxx 进行操作了。

本文地址:http://com.8s8s.com/it/it4604.htm