200分:高难!如何改变注册表项的所有者
在VISTA或WIN7下,某些注册表项不允许修改,即使当前的登录用户是Administrator
用注册表监编辑器打开,找到该项,右键,权限,高级,所有者,发现这类注册表项的当前所有者是TrustedInstaller。
此时必须将所有者更改为其他用户,然后再选择“替换子容器和对象的所有者”,然后确定。然后再设置相应用户的权限为“完全控制”
但上述操作都是人工的点鼠标实现的,怎么用代码实现呢?
希望各路高人参与讨论,指点。不胜感激。
[解决办法]
顶起继续关注
[解决办法]
应该是windows帐户权限的设计,不过还真没研究过这个。帮顶。
[解决办法]
嘿嘿,VISTA\WIN7下对管理员用户限制很严重,很多时候都访问不进去注册表的一些值。。。
其实我在VISTA下使用过SYSTEM权限运行EXPLORER进程,不由得感叹,VISTA下的SYSTEM权限比XP下牛多了,VISTA下想访问所有资源就只能使用SYSTEM权限启动进程。。。
而在XP下可以使用CreateProcessAsUser方法继承winlogon的权限,就是陈辉写过的代码,但是VISTA不行,只能使用标准的远程线程方法注入到winlogon中,让winlogon执行WinExec运行我们的程序,这样才能继承SYSTEM权限,你会发现,在WIN7下使用SYSTEM权限运行注册表编辑器后,所有项目尽在掌握。
所以,在SYSTEM权限下运行咱的程序,对advapi32里面的相关权限操作API就“沟通容易”了。
[解决办法]
这个问题提得好,帮你顶一下
[解决办法]
用RegEdt32修改注册表项的所有者。
用AutoHotKey软件将手动操作脚本化。
[解决办法]
关注一下……
7F 在给‘AutoHotKey软件’打广告啊?经常都在见你这么回复。
[解决办法]
顶
[解决办法]
可以关闭UAC再操作
[解决办法]