china.com
主页
新闻
体育
游戏
文化
教育
健康
财经
科技
旅游
军事
娱乐
商贸
  科技动态 硬件广场 下载基地 网络教室 网络冲浪 科学博览 移动时代 手机上网 桌面壁纸 科技商情  


C++Builder中注册表的操作介绍

2000-08-16 14:14:06

  在WIN9x和WINNT中,许多高级一点的功能都要通过对注册表的操作来实现,在WinAPI中有RegCgreateKey()、RegOpenKey()、RegQueryValue()等等函数,但是,如果用这些函数来实现那将是非常的麻烦,幸亏我们有C++Builder,它提供了TRegistry类,有了TRe gistry类,对注册表的操作就非常的简单了,下面介绍一下TRegistry的属性和方法:

TRegistry类一共有四个属性。

属性   类型 描述

CurrentKey int 包含当前键值的值,但它的意思不太好懂,所以不太常用

RootKey int 当前键值的根键,BCB定义有枚举常量:HKEY_CURRENT_USER、
HKEY_CLASSES_ROOT、HKEY_LOCAL_MACHINE、HKEY_USERS、
HKEY_CURRENT_CONFIG、HKEY_DYN_DATA、HKEY_USERS。分别对应注册表中相应的主键。生成一个TRegistry类的实例时RootKye缺省值为HKEY_CURRENT_USER

CurrentPath AnsiString 当前键值的文本描述,\HKEY_CURRENT_USER\Software\Borland的CurrentPath="Software\Borland",而RootKey=HKEY_CURRENT_USER LazyWrite bool 值为true:只要关闭一个键,就立即返回应用程序。值为false:必须写完注册表后才返回。

其缺省值为true。

TRegistry类的方法比较多,择其常用的简要说明如下:

方法 描述

CloseKey() 关闭一个键值并向键值写数据,只要对键值操作完毕后就应该关闭它,不过你可以不必调用此方法,因为TRegistry的析构函数会自动调用它。

DeleteKey(AnsiString) 删除键值,参数为要删除的键值,如果参数为空字符串,则删除当前键值OpenKey(Ansistring,bool) 打开一个键值,如果这个键值不存在,将由第二个参数决定是否自动建立。

LoadKey(AnsiString,AnsiString) 从文件装入键值,第一个参数为键值,第二个参数为文件名KeyExists(AnsiString) 检测一个键值是否存在。

SaveKey(AnsiString,AnsiString) 把一个键值保存到文件,参数说明参见LoadKey()

ReadInteger(AnsiString) 读出一个键值为整数,如果失败将抛出异常。同此函数类似的还有ReadBool()、ReadString()、ReadFloat()、ReadDateTome()、ReadBinaryData()等,用来读出不同类型的键值。

ValueExists(AnsiString) 检测一个值是否存在。

WriteInteger(AnsiString,int) 写一个键值为整数,如果失败将抛出异常。同此函数类似的还有WriteBool()、WriteString()、WriteFloat()、WriteDateTome()、WriteBinaryData()等,用来写入不同类型的键值。

利用TRegistry是很容易的,一般来说,有以下四步操作:

1) 建立TRegistry类。2)利用OpenKey()方法打开一个键值。3)用ReadType()和WriteType()读写键值。4)调用CloseKey()关闭一个键值。

值得注意的是:在使用TRegistry类时,必须要加入此类的头文件:#include,否则会发生什么,只要稍有C语言基础都会明白。

  摘自《赛迪网》 抱雪/文

404 Not Found

404 Not Found


nginx


科技检索


中华网推荐

  • 1000名医生在线咨询

  • 中国足球队官方网站

  • 鸦片玫瑰(新版)

  • 精选股票天地

  • 闪光的flash教程

  • 中华网汽车世界

  • 为你的爱情出谋划策

  • 网文精选——野百合集

  • 世界文化遗产在中国

  • 历届香港小姐风姿集



  •  


    网络教室编辑信箱
    版权声明 | 本站检索 | 联系方法 | 刊登广告 | 使用说明 | 关于中华网 | 豁免条款

    版权所有 中华网