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);