社区
Windows Server
帖子详情
如何在SYSTEM进程中访问注册表下HKEY_CURRENT_USER
kane
2007-04-17 05:45:42
产品安装程序是MSI做的,在安装过程中另起了一个进程来完成一些安装操作,这个新建的进程是一个SYSTEM进程,在这个进程中想存取注册表的HKEY_CURRENT_USER应该怎样做?
由于用户问题,在程序中直接存取HKEY_CURRENT_USER的话,只能访问到HKEY_USER/.DEFAULT
请有经验的高人指点
...全文
304
10
打赏
收藏
如何在SYSTEM进程中访问注册表下HKEY_CURRENT_USER
产品安装程序是MSI做的,在安装过程中另起了一个进程来完成一些安装操作,这个新建的进程是一个SYSTEM进程,在这个进程中想存取注册表的HKEY_CURRENT_USER应该怎样做? 由于用户问题,在程序中直接存取HKEY_CURRENT_USER的话,只能访问到HKEY_USER/.DEFAULT 请有经验的高人指点
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
smallcrocodile
2007-04-23
打赏
举报
回复
很多安装程序都可以直接修改注册表的
kane
2007-04-19
打赏
举报
回复
最终是在SYSTEM进程中先得到当前登陆用户的SID,再拼接上HKEY_USER
相当于得到HKEY_CURRENT_USER
kane
2007-04-18
打赏
举报
回复
在MSI安装程序时新建进程的时候要用CreateProcessAsUser来创建进程,是这样理解的吗?
蒋晟
2007-04-18
打赏
举报
回复
CreateProcessAsUser
liuyaoyou
2007-04-18
打赏
举报
回复
帮顶
kane
2007-04-18
打赏
举报
回复
to ljc007:
需求是在程序里调用api访问注册表
kane
2007-04-18
打赏
举报
回复
to jiangsheng:
感谢你的建议,能详细一些吗?runas 是API?
蒋晟
2007-04-17
打赏
举报
回复
用runas服务,但是需要知道用户名和密码
ljc007
2007-04-17
打赏
举报
回复
提升为System权限的方法
方法一:使用pstools里面的PsExec(具体用法google一下可以找到很多)
方法二:使用at命令(因为at命令启动的计划任务,默认以SYSTEM特权运行)
at 15:00 /interactive C:\WINDOWS\regedit.exe
参数/interactive表示以交互模式启动注册表编辑器,必须加上该命令参数,否则将无法看到启动的注册表编辑器。
ltzhh
2007-04-17
打赏
举报
回复
对不起,
我无能为力,
但可以帮你顶一下
SRVINSTW.EXE和msicuu.exe
SQL Server 2005(适用于2000)的卸载是一个非常头疼的问题。我曾经尝试过直接使用【添加或删除程序】工具卸载、清除安装目录、删除
注册表
内容等等各种方式综合卸载,勉强成功。现在终于找到了一个事半功倍的方法,多次尝试,未有失败,具体如下: 1.下载卸载工具,有两种: 第一种是微软官方提供的工具(msicuu2.exe) http://support.microsoft.com/default.aspx?kbid=290301 第二种是各大下载网站下载的非微软官方工具(SrvInstw.exe) 微软官方工具需要安装,而且安装步骤比较麻烦,还有没找到支持64位的; 非微软官方工具纯绿色,不需安装,直接卸载,支持64位。 所以我还是习惯用非微软官方工具,觉得好用。 2.使用卸载工具卸载所有SQL Server服务和相关组件(注意:卸载前要先停止对应的服务,否则可能卸载失败) 3.删除C:\WINDOWS\inf 下所用文件(我是在该文件夹下搜索“sqlserver”,然后删除所有结果文件) 可能搜索inf文件夹,根本没有任何信息,那就不用删了 4.删除sql 2005安装目录下的所有文件 5.删除
注册表
中
: 把H
KEY
_
CURRENT
_
USER
\Software\Microsoft\Microsoft SQL Server H
KEY
_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer H
KEY
_LOCAL_MACHINE\SOFTWARE\Microsoft\ Microsoft SQL Server H
KEY
_LOCAL_MACHINE\SYSTEM\
Current
ControlSet\Services\MSSQLServer H
KEY
_LOCAL_MACHINE\SYSTEM\
Current
ControlSet\Services\SQLSERVER AGENT H
KEY
_LOCAL_MACHINE\SYSTEM\
Current
ControlSet\Services \MSSQLServerADHelper 全部删掉,但是一般来说,如果用了卸载工具之后,
注册表
中
不会有这些内容了(我用了SrvInstw.exe之后就没发现
注册表
中
有以上内容) 6.使用控制面板的【添加或删除程序】工具,查看有无其他未删除的SQL Server程序,如有都一并删除掉 7.重启计算机 计算机重启完成后,SQL Server 2005就被完全的卸载干净了,可以正常重新安装。
SYSTEM权限的
进程
操作H
KEY
_
CURRENT
_
USER
注册表
系统权限
进程
读取用户
注册表
system权限的
进程
、服务若要操作用户
注册表
(H
KEY
_
CURRENT
_
USER
),如果直接操作则获取的内容不是真正想要获取的内容,因为路径被重定向的,所以要从H
KEY
_
USER
S
中
来操作。 首先获取用户SID,然后再将该SID与要操作的
注册表
项凭借在一起,就可以操作H
KEY
_
CURRENT
_
USER
中
的项了 //这个函数的的代码不美观哈 BOOL GetTokenByName(HANDLE &hToken,LPTSTR lpName) { if (!l
system 权限读取
注册表
H
KEY
_
CURRENT
_
USER
注册表
中
H
KEY
_
CURRENT
_
USER
键下的内容隶属当前用户,所以当你以不同用户登陆时该键下的内容都是不尽相同的。但有时候我们有读取指定用户该键下内容的需求。比如,我们有一个服务程序运行在 Session0, SYSTEM 权限,而我们想读取的却是当前登陆到本地控制台的用户的 IE 代理服务器设置参数。我们当然不能直接从服务
中
打开 H
KEY
_CURENT_
USER
键, 用我们当前令牌打开
处理
进程
在SYSTEM权限下无法读取H
KEY
_
CURRENT
_
USER
注册表
的问题
最近在工作
中
碰到了,某个
进程
在SYSTEM权限下无法读取到H
KEY
_
CURRENT
_
USER
注册表
的问题。所以写一下文章记录下排查和处理的过程。
如何在Windows服务程序
中
读写H
KEY
_
CURRENT
_
USER
注册表
在服务程序
中
想要对
注册表
H
KEY
_
CURRENT
_
USER
下的内容进行读写,不会返回失败,但是始终无效。原因是: 1.服务运行在系统权限之下,而不是任何一个用户 2.H
KEY
_
CURRENT
_
USER
存储的是当前用户的信息================>导致在服务
中
读取H
KEY
_
CURRENT
_
USER
实际操作的不是当前登录的用户的数据。 所以如果我要操作H
KEY
_CURR...
Windows Server
6,868
社区成员
177,996
社区内容
发帖
与我相关
我的任务
Windows Server
Windows 2016/2012/2008/2003/2000/NT
复制链接
扫一扫
分享
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章