首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

RegQueryValueEx 获取注册表中指定的键值解决办法

2012-03-04 
RegQueryValueEx 获取注册表中指定的键值写了一个RegQueryValueEx,想要获取注册表中某一键的值,代码如下:L

RegQueryValueEx 获取注册表中指定的键值
写了一个RegQueryValueEx   ,想要获取注册表中某一键的值,代码如下:
                  LPCTSTR   key= "SOFTWARE\\ORACLE\\NET80 ";

HKEY         hkey;

long         lret;
LPBYTE     KeyByte     =   new   BYTE[100];
DWORD       WordType   =   REG_SZ;
DWORD       WordData   =100;
long   ret=RegOpenKeyEx(HKEY_LOCAL_MACHINE,key,0,KEY_READ,&hkey);

lret   =   RegQueryValueEx(HKEY_LOCAL_MACHINE,key,NULL,&WordType,(LPBYTE)&KeyByte,&WordData);

  为什么KeyByte总是获得一些乱码?

  我的代码有什么错误的地方?请大家给一个能正确读出值的代码,谢谢!

[解决办法]
LONG RegQueryValueEx(
HKEY hKey, // handle to key to query
LPTSTR lpValueName, // address of name of value to query
LPDWORD lpReserved, // reserved
LPDWORD lpType, // address of buffer for value type
LPBYTE lpData, // address of data buffer
LPDWORD lpcbData // address of data buffer size
);
hKey 是要查询的注册表的分支,
lpValueName 要查询的键值
后面的那个函数的参数不对
LPCTSTR key= "SOFTWARE\\ORACLE\\NET80 ";

HKEY hkey;

long lret;
DWORD dwVal;
DWORD WordType = REG_SZ;
DWORD WordData =100;
long ret=RegOpenKeyEx(HKEY_LOCAL_MACHINE,key,0,KEY_READ,&hkey);

lret = RegQueryValueEx(hkey,key,NULL,&WordType,(LPBYTE)&dwVal,&WordData);

热点排行