请问如何获取注册表中的键值?
我想获取 "HKEY_LOCAL_MACHINE\\SECURITY\\SAM\\Domains\\Account"下的V值,也就是计算机的sid值,但是调用RegQueryValueEx函数后AfxMessageBox( (CString)Vals );打印出来的值是空的,请高手指点一下为什么?
HKEY hk;
BYTE Vals[100] = {0,};
DWORD lenIt = 2048;
// 打开注册表如果没有则创建, 返回注册表句柄于hk
if ( ::RegCreateKey( HKEY_LOCAL_MACHINE, "SECURITY\\SAM\\Domains\\Account", &hk ) == ERROR_SUCCESS )
{
AfxMessageBox( "打开注册表" );//这里可以打开
}
if ( ::RegQueryValueEx( hk, "V", 0, NULL, (BYTE *)Vals, &lenIt ) == ERROR_SUCCESS )
{
AfxMessageBox( (CString)Vals );
}
[解决办法]
权限的限制?缺省情况下即便是 Administrators 也无访问 SAM 的权限吧
[解决办法]
权限,路径,
[解决办法]
应该是没权限.
[解决办法]
你用超级管理员身份登陆试试吧
Dos命令:net user administrator /active:yes
[解决办法]
需要注销一次,选择administraor帐户
[解决办法]
RegEnumKey
RegEnumKeyEx