98下读不了注册表!急急急!
为什么我用以下代码能写注册表: (在98、2000下都可以。)
CString KeyValue("test3");
HKEY hkResult;
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"software\\test1",0,KEY_ALL_ACCESS,&hkResul t);
RegSetValueEx(hkResult,"test2",0,REG_SZ,(unsigned char *)(LPCTSTR)KeyValue, 5);
RegCloseKey(hkResult);
而用以下代码却读不了注册表: (在2000下可以,一点问题都没有,98下却不行)
CString KeyValue;
HKEY hkResult;
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"software\\test1",0,KEY_ALL_ACCESS,&hkResul t);
long err;
unsigned long length;
unsigned long TypeStr;
err=RegQueryValueEx(hkResult,"test2",0,&TypeStr,(unsigned char *)(LPCTSTR)K eyValue,&length);
RegCloseKey(hkResult);
返回值err为87。
在winerror.h中87定义如下:
#define ERROR_INVALID_PARAMETER 87L // dderror //
// MessageId: ERROR_NET_WRITE_FAULT //
// MessageText: //
// A write fault occurred on the network. //
急呀,哪位指点一下,谢谢,谢谢!!
问题点数:51、回复次数:2Top
1 楼zjber(流星飞月)回复于 2001-11-15 22:52:50 得分 0
望高手不吝指点Top
2 楼zara(Kyrie eleison)回复于 2001-11-15 23:54:55 得分 51
读取时, length要指明读入区的大小, 你没有给变量length赋正确值.Top




