CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

关于读取注册表。。

楼主ilovc()2001-12-17 20:42:23 在 VC/MFC / 基础类 提问

比如有HKEY_LOCAL_MACHINE\\System\\test  
  Value1                     REG_SZ                             try  
  Value2                     REG_SZ                             202.100.100.100  
  怎样才能读到程序中来?  
  我用的是:  
  LPBYTE   lpData=0;  
  LPDWORD   lpcbData=0;  
  LPTSTR   pValue;  
  pValue="try";//try为键的名称。  
  RegOpenKeyEx(HKEY_LOCAL_MACHINE,"System\\test\\",0,KEY_READ,&hKey);  
  RegQueryValueEx(hKey,pValue,NULL,REG_NONE,lpData,lpcbData);  
  编译通过,注册表内容已经存在,但是为什么得不到键值?? 问题点数:46、回复次数:6Top

1 楼masterz(www.fruitfruit.com)回复于 2001-12-17 20:57:06 得分 40

char   bufdata[1024];  
  DWORD   buflen=1024;  
  RegOpenKeyEx(HKEY_LOCAL_MACHINE,"System\\test\\",0,KEY_READ,&hKey);  
  RegQueryValueEx(hKey,"try",NULL,REG_SZ,bufdata,&buflen);  
  Top

2 楼Smartee_J()回复于 2001-12-17 20:59:05 得分 3

请试一下  
  LPBYTE   lpData   =   new   BYTE[20];  
                                  ^^^^^^^^^^^^  
  LPDWORD   lpcbData=0;  
  LPTSTR   pValue;  
  pValue="try";//try为键的名称。  
  RegOpenKeyEx(HKEY_LOCAL_MACHINE,"System\\test\\",0,KEY_READ,&hKey);  
  RegQueryValueEx(hKey,pValue,NULL,REG_SZ,lpData,lpcbData);    
                                                                    ^^^^^^  
  Top

3 楼ilovc()回复于 2001-12-17 21:22:05 得分 0

改为REG_SZ会出错。  
  cannot   convert   parameter   4   from   'const   int'   to   'unsigned   long   *'  
   
  用LPBYTE   lpData   =   new   BYTE[20];  
  不知为何?望解答,谢谢。Top

4 楼iLdf(七伤拳)回复于 2001-12-18 04:02:39 得分 3

请试一下:  
  BYTE   Data[20];  
  DWORD   dwDataType,   cbData;  
  dwDataType   =   cbData   =   0;  
  LPTSTR   pValue   =   "try";  
  RegOpenKeyEx(HKEY_LOCAL_MACHINE,"System\\test\\",0,KEY_READ,&hKey);  
  RegQueryValueEx(hKey,pValue,NULL,&dwDataType,&Data,&cbData);   Top

5 楼ilovc()回复于 2001-12-18 10:01:09 得分 0

55555,编译正确,还是得不到值。Top

6 楼ilovc()回复于 2001-12-18 10:32:02 得分 0

好了,还是masterz()的方法完全正确。  
  LPBYTE   lpData   =   new   BYTE[20];  
                                  ^^^^^^^^^^^^  
  LPDWORD   lpcbData=20;  
  LPTSTR   pValue;  
  pValue="try";//try为键的名称。  
  RegOpenKeyEx(HKEY_LOCAL_MACHINE,"System\\test\\",0,KEY_READ,&hKey);  
  RegQueryValueEx(hKey,pValue,NULL,REG_SZ,lpData,lpcbData);    
  Top

相关问题

  • 关于读取注册表
  • 如何读取注册表?
  • 读取注册表问题
  • 怎样读取注册表?
  • 关于注册表读取问题
  • 关于读取注册表值!
  • 请问怎样读取注册表?
  • 关于注册表的读取
  • 如何读取注册表键值?
  • 编程读取注册表问题

关键词

  • null
  • pvalue
  • lpcbdata
  • lpdata
  • hkey
  • dwdatatype
  • regqueryvalueex
  • regopenkeyex
  • sz
  • lpbyte

得分解答快速导航

  • 帖主:ilovc
  • masterz
  • Smartee_J
  • iLdf

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo