在Delphi中轻松操作注册表TRegistry类

原创 2006年05月18日 21:17:00

Delphi中轻松操作注册表TRegistry

在应用程序中,经常需要对注册表进行各种操作,如将程序名称、安装路径等信息保存到注册表中。Delphi对相应API函数做了进一步封装,使得在应用程序中操作注册表更加简单。

1、原理

Delphi提供了TRegistry类,它直接继承自TObject类,主要属性有:RootKey等,主要方法有:

Create

CreateKey(Key)

OpenKey(Key,CanCreate)

WriteString(Name,Value)ReadString(Name)

CloseKey

Free等,下面对它们进行简单介绍。

11RootKey属性

指定当前操作的注册表主键,共有HKEY_CLASSES_ROOTHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERSHKEY_CURRENT_CONFIG五种取值,默认值为HKEY_CURRENT_USER

12CreateKey方法

    函数声明为function CreateKey(const Key: String):Boolean;用于在注册表中新建项,项的名称为参数Key的值

13OpenKey方法

    函数声明为function OpenKey(const Key: String; CanCreate: Boolean):Boolean;,其中参数Key指定要打开的注册表的项参数CanCreate指明当要打开的项不存在时是否创建,默认值为False函数返回值为布尔类型,如果打开成功返回True,否则返回False

14WriteString方法

    过程声明为procedure WriteString(const Name, Value: String);,其中参数Name指明要写入的注册表的字符串的名称参数Value为要写入的字符串的值如果该字符串不存在则写入,否则覆盖原来的取值。

15ReadString方法

    函数声明为function ReadString(const Name: String):String;,其中参数Name为要读取的字符串的名称函数返回值为要读取的字符串的值是字符串类型。如果该字符串在注册表中不存在,返回值为空字符串

2、实例

    下面分别为将信息写入注册表和从注册表中读取信息的例子

21、将信息写入注册表

    相应代码如下:

var

  reg:TRegistry;//声明一个TRegistry类变量

  ...

begin

  reg:=TRegistry.Create;//创建实例

  reg.RootKey:=HKEY_CURRENT_USER;//指定需要操作的注册表的主键

  if reg.OpenKey('/Software/Delphi使用技巧',true) then//如果打开成功则进行以下操作

  begin

    reg.WriteString('文章名称','Delphi中轻松操作注册表');//将需要保存的信息写入注册表

    reg.CloseKey;//关闭注册表

  end;

  reg.Free;//释放变量所占内存

  ...

end;

22、从注册表中读取信息

    相应代码如下:

var

  reg:TRegistry;//声明一个TRegistry类变量

  s:String;//声明一个字符串变量用来存放要读取的信息

  ...

begin

  reg:=TRegistry.Create;//创建实例

  reg.RootKey:=HKEY_CURRENT_USER;//指定需要操作的注册表的主键

  if reg.OpenKey('/Software/Delphi使用技巧',true) then//如果打开成功则进行以下操作

  begin

    s:=reg.ReadString('文章名称');//从注册表中读取对应字符串的值

    //如果该字符串不存在则返回值为空字符串

    reg.CloseKey;//关闭注册表

  end;

  reg.Free;//释放变量所占内存

  ...

end;

3、总结

本文首先介绍了在Delphi中操作注册表的方法,然后举例说明了具体应用。

相关文章推荐

TRegistry_delphi中对注册表的操作

◇     [DELPHI]关于处理注册表 uses Registry; var reg:Tregistry; reg:=Tregistry.create; reg.rootkey:='HKe...

delphi 注册表操作(读取、添加、删除、修改)完全手册

32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息。    一、创建和释放TRegistry对象    1.创建TRegistry对象。为了操作注册表,要创建一个...

在Delphi中操作注册表的方法

Delphi提供了TRegistry类,它直接继承自TObject类,主要属性有:RootKey等,主要方法有:Create,CreateKey(Key),   Ope...
  • shao882
  • shao882
  • 2015年03月01日 16:55
  • 1059

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi 中注册表操作类TRegistry使用方法

Delphi 中注册表操作类TRegistry使用方法 {XP win7 等系统中 注册表中的主键} HKEY_CLASSES_ROOT    {文件类型信息} HKEY_CURRENT_US...

Delphi操作注册表

1.Delphi操作注册表是通过系统类TRegistry实现的,需要引用Registry 2.注册表根键:在win7中注册表根键有五个,以下几个根键的数据类型为const LongWord,需引用Wi...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

delphi 遍历注册表

下面程序是读出windows中所有的已安装的程序.你自己看一下,很容易的.      uses   Registry;           procedure   TForm1.Button1C...
  • lw001x
  • lw001x
  • 2012年06月19日 22:45
  • 1700

delphi中move函数的用法

我们能看到以下代码var pSource,pDest:PChar;     len: integer;.......................//一些代码Move(pSource,pDest,l...
  • volfish
  • volfish
  • 2010年05月27日 12:53
  • 1820

Delphi自学笔记之标识符

Pascal 编译器不考虑字符的大小写,因此标识符Myname、 MyName、 myname、 myName、 和MYNAME是完全相同的。注意:Pascal语言的大小写不敏感特性有一个例外:控件包...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在Delphi中轻松操作注册表TRegistry类
举报原因:
原因补充:

(最多只允许输入30个字)