NT下访问注册表,权限????

Dlf 2000-08-29 10:16:00
我在编写nt下使用的软件,其中要访问系统注册表。我采用的RegOpenKeyEx等API函数
但存在一个问题,就是当用户以系统管理员登录没有问题,可是一般用户登录,程序无法
读出注册表,我想是不是访问注册表需要什么权限,对不?是什么权限?请各位大虾帮忙,谢谢!!!!
...全文
157 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pbi 2000-08-29
  • 打赏
  • 举报
回复
NT下访问注册表也是需要权限的,不同的键访问权限也不同,你可以用regedt32来查看和设置访问所需的权限,但通常不建议你修改。你用API函数时,应该指明你需要的访问类型,如果你仅仅要读的话,就不要指明还需要写,这要可以避免权限不够。
Dlf 2000-08-29
  • 打赏
  • 举报
回复
smDesired是用的KEY_ALL_ACCESS
我读的是HKEY_LOCAL_MACHINE
我不想打破安全机制,但regedit可以访问并修改,我为什么不行
我觉得是要为进程设置一个什么权限才行,要不然,其他软件都写了注册表,他是怎么访问的?
请各位帮帮忙!!!!!!!
Kevin_qing 2000-08-29
  • 打赏
  • 举报
回复
你读得是哪些键?
aznarble 2000-08-29
  • 打赏
  • 举报
回复
RegOpenKeyEx
The RegOpenKeyEx function opens the specified registry key.

LONG RegOpenKeyEx(
HKEY hKey, // handle to open key
LPCTSTR lpSubKey, // subkey name
DWORD ulOptions, // reserved
REGSAM samDesired, // security access mask
PHKEY phkResult // handle to open key
);

samDesired
[in] An access mask that specifies the desired access rights to the key.
KEY_ALL_ACCESS
Combines the KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK, and KEY_SET_VALUE access rights, plus all the standard access rights except SYNCHRONIZE.

You can try this paremeter with value KEY_ALL_ACCESS.


Holly 2000-08-29
  • 打赏
  • 举报
回复
在WINNT中的用户管理机制不允许普通用户对影响整个本地机的有关数据进行修改,你的RegOpenKeyEx一定是访问到了非CURRENT_USER的部分,你想打破安全机制吗?

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧