CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

高手请进,一个菜鸟问题在线等待解答

楼主ksyou(过河卒:不能回头怎么办?)2002-12-12 16:15:11 在 VC/MFC / 基础类 提问

下面是我的程序:  
  void   SZhiDialog::OnSetfocusCombo1()    
  {  
  //   TODO:   Add   your   control   notification   handler   code   here  
  CComboBox   my_ComboBox;  
  HKEY   hkey;  
  long   ret0;  
  LPCSTR   data_Get="SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Adapters";  
  ret0=RegOpenKeyEx(HKEY_LOCAL_MACHINE,data_Get,0,KEY_READ,&hkey);  
  if   (ret0!=ERROR_SUCCESS)  
  {  
  MessageBox("Error!");  
  return;  
  }  
  TCHAR   szBuffer[256];  
  DWORD   dwSize=256;  
  ZeroMemory(szBuffer,256);  
  DWORD   dIndex;  
  dIndex=0L;  
  while(RegEnumValue(hkey,dIndex,szBuffer,&dwSize,NULL,NULL,NULL,NULL)==ERROR_SUCCESS)  
  {  
  //MessageBox(szBuffer,"");  
  my_ComboBox.AddString(szBuffer);  
  dIndex++;  
  ZeroMemory(szBuffer,256);   //注意这两行  
  dwSize=256;                               //  
  }  
  return;  
   
   
  }  
  执行的时候出现   error提示,就是说RegOpenKeyEx函数没有返回正确的值,为什么? 问题点数:20、回复次数:8Top

1 楼Bottol(亲爱的:)回复于 2002-12-12 16:42:35 得分 10

这段代码没有问题,如果失败的话,请先确认你的注册表里确实有以下项  
  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\AdaptersTop

2 楼ruihuahan(飞不起来的笨鸟)回复于 2002-12-12 16:47:10 得分 0

upTop

3 楼ksyou(过河卒:不能回头怎么办?)回复于 2002-12-12 16:59:02 得分 0

不好意思,这个问题解决了,但我怎么样才能把RegEnumValue查到的值在combo   box控件中显示出来呢?上面我用my_ComboBox.AddString(szBuffer);显示不出来。呵呵,我刚学MFC,还很菜,请多指点Top

4 楼ksyou(过河卒:不能回头怎么办?)回复于 2002-12-13 08:50:41 得分 0

upTop

5 楼guizi6()回复于 2002-12-13 09:10:03 得分 0

你的combo   box应该下拉后才能看到,在编辑对话框时,点击combo   box的下拉按钮,在把宽度加宽.Top

6 楼Bottol(亲爱的:)回复于 2002-12-13 09:58:42 得分 10

呵呵,还真没注意你的ComboBox,首先你要确认这个ComboBox已经可以在界面上显示出来,如果你没有在资源编辑器里面把他加到某个窗体(form)上的话,就用Create函数先把他创建出来,创建的时候,选择你的ComboBox所附着的父窗口。  
  你的CComboBox   my_ComboBox;如果只是在这个函数里这样定义,VC怎么知道这个my_ComboBox该放在哪里呢?当然也就显示不出来。  
  Top

7 楼ksyou(过河卒:不能回头怎么办?)回复于 2002-12-13 10:26:12 得分 0

我把ComboBox防在一个对话框上的,在对话框类中定义了成员变量  
  CComboBox   m_combox;  
   
  当我将上面的程序的定义去掉后,用m_combox.addstring(szBuffer)是出现异常错误。  
   
  我的void   SZhiDialog::OnSetfocusCombo1()   函数选择的是设置焦点的消息。  
   
  请高手帮帮忙Top

8 楼ksyou(过河卒:不能回头怎么办?)回复于 2002-12-16 08:25:06 得分 0

upTop

相关问题

  • 菜鸟问题请解答
  • 菜鸟问题,请求解答!!20分!!!
  • 菜鸟提问,望高手解答!
  • 小弟是超级菜鸟!!!忘解答!!!
  • 菜鸟级问题,盼解答
  • ——————-———————----------—菜鸟问题::求权威解答--------------------------------------
  • 菜鸟问题:望高手解答
  • 菜鸟问题急求解答 !!!
  • 菜鸟问题,高手帮忙解答!!!!
  • 菜鸟问题,解答后给分

关键词

  • 函数
  • null
  • szbuffer
  • combobox
  • dindex
  • 对话框
  • addstring
  • dwsize
  • hkey
  • 显示

得分解答快速导航

  • 帖主:ksyou
  • Bottol
  • Bottol

相关链接

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

广告也精彩

反馈

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