如何在SYSTEM进程中访问注册表下HKEY_CURRENT_USER
产品安装程序是MSI做的,在安装过程中另起了一个进程来完成一些安装操作,这个新建的进程是一个SYSTEM进程,在这个进程中想存取注册表的HKEY_CURRENT_USER应该怎样做?
由于用户问题,在程序中直接存取HKEY_CURRENT_USER的话,只能访问到HKEY_USER/.DEFAULT
请有经验的高人指点
[解决办法]
HKEY_CURRENT_USER是针对具体的登录用户而言的。除非你启动一个在该用户帐号下的进程来完成你的任务。
看一下MSDN中的这一篇文章:
Starting an Interactive Client Process in C++
[解决办法]
首先获得当前用户的SID,参考http://topic.csdn.net/t/20051108/17/4379999.html
然后把SID和HKEY_USER\"拼"在一起,组成HKEY_USER\SID...就相当与HKEY_CURRENT_USER了,
HKEY_CURRENT_USER只是HKEY_USER下面的一个连接.