您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > BCB > 正文
C++Builder注册表编程实例详解
[文章信息]
作者:马明臣
时间:2003-08-19
出处:yesky
责任编辑:方舟
[文章导读]
注册表中包含了系统配置、机器硬件配置、Win32 应用程序和用户的其他配置信息
advertisement
热点推荐
· 天极网软件频道改版调查
· 在ASP.NET程序中创建唯一序号
· 用JVM工具接口创建调试和分析代理
· Win 2000如何安装配置防火墙
· 防范Windows消息钩子的侵入
[正文]

上一页  1 2 3 4  下一页

  (5) 删除主键函数:

  bool __fastcall DeleteKey( 主键名 );

  如果参数为空字符串,则删除当前键值 。

  (6) 打开主键函数 :

  bool __fastcall OpenKey( 主键名,参数 );

  此函数将定位到一个具体的主键位置,随后的操作(建立键值、删除键值以及在当前位置建立主键、删除主键)将以此主键为当前主键。参数为 True 则当主键不存在将建立这个主键,如果为 false 则不建立主键。

  (7) 读取当前主键下 String 型的键值函数:

AnsiString __fastcall ReadString( 键值名 );

  如: Edit1->Text=MyReg->ReadString(-MyString-);

  将读取键值 MyString 的内容到文本框 Edit1 中。 同此函数类似的还有 ReadBool() 、 ReadInteger() 、 ReadFloat() 、 ReadDateTome() 、 ReadBinaryData() 等,用来读出不同类型的键值。

  (8) 在当前主键中写入 String 型键值函数:

void __fastcall WriteString( 键值名,数据 );

  如果是一个新键值名,那么相当于新建一个键值;如果是已有的键值,那么就是修改键值的数据。
如: WriteString(- 我的串 -,- 内容 -); 其它类型的键值(二进制值、 Dword 值)的读取和写入函数如 WriteInteger 、 WriteBool() 、 WriteFloat() 、 WriteDateTome() 、 WriteBinaryData() 等用法与上述类似。

  (9) 判断键值或主键是否存在的函数:

  bool __fastcall ValueExists( 键值名 );

  这个方法判断当前键下是否存在指定的数据项,如果存在返回 true ,否则返回 false 。

  bool __fastcall KeyExists( 主键名 );

  这个方法判断一个键是否存在,如果存在返回 true ,否则返回 false 。

  (10)从文件读入键值函数:

  LoadKey( 键值名 , 文件名 ) ;

  (11)一个键值保存到文件函数:

  SaveKey( 键值名 , 文件名 ) ;

  (12) 关闭键值函数:

  void __fastcall CloseKey(void);

  在注册表使用完毕后,应当及时调用 CloseKey() 成员函数关闭注册表,并调用 delete 方法将用 new 申请的内存空间释放。

  (13)当前主键下子键值的获取函数:

void __fastcall GetKeyNames(Classes::TStrings * Strings) ;

  我们可以用该成员函数得到当前主键下所有子键的名称,用 GetKeyInfo 得到更加详细的信息。必须指出,虽然 GetKeyNames() 的说明成 void __fastcall GetKeyNames(Classes::TStrings * Strings) ,也就是说,它的参数类型是 TString ,但是我们并不能首先声明一个 TString 类的实例,然后将它作为参数用于 GetKeyNames() 。这主要是由于 TStrings 类含有抽象成分。我们的解决方法是采用 TStrings 类的派生类 TStringList 来代替 TStrings 声明一个实例,并作为参数用于 GetKeyNames() 函数。

  在获得子键的名称后,我们就可以利用有关函数进一步确定详细信息。如用我们可以用 GetValueNames() 结合 Read() 和 Write() 获得主键的值的详细信息。请看下面实例,这个例子的功能是将“ \Software\MyInfo ”主键下的所有子键名称显示在 ComboBox1 中:

# include
…………
Tregistry * curReg=new TRegistry () ;
curReg - >OpenKey( “ Software\\MyInfo-,true);
KeyNames=new TStringList();// 注意 TstirngList 类的声明方法!
curReg - >GetKeyNames(KeyNames); for(int i=0;iCount;i ++ ) ComboBox1 - >Items - >Add(KeyNames - >Strings[i]);
curReg - >CloseKey();
delete KeyNames;

  3 使用 TRegistry 的一般步骤

  一般来说,有以下四步操作:

  1) 建立 TRegistry 类。 2) 利用 OpenKey() 方法打开一个键值。 3) 用 ReadType() 和 WriteType() 读写键值。 4) 调用 CloseKey ()关闭一个键值,最后调用 delete 方法将用 new 申请的内存空间释放。


上一页  1 2 3 4  下一页

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载


发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • 主板超频特色技术GIGA技嘉篇
  • Win 2000如何安装配置防火墙
  • 防范Windows消息钩子的侵入
  • 性价比之选 AGP显卡的告别秀
  • 大学校园生活之聊天也疯狂
  • Fireworks制作GIF动画Banner
  • 金山打击外挂 遭网络游戏玩家起诉
  • 完全公测《开天》掀起滔滔巨浪
  • Advertisement