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

  在应用程序中,经常需要对注册表进行各种操作,如将程序名称、安装路径等信息保存到注册表中. 
 

Delphi对相应API函数做了进一步封装,使得在应用程序中操作注册表更加简单。 

  

1、原理 

  

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

  

Create, 

  

CreateKey(Key), 

  

OpenKey(Key,CanCreate), 

  

WriteString(Name,Value),ReadString(Name), 

  

CloseKey, 

  

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

  

11、RootKey属性 

  

指定当前操作的注册表主键,共有HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_CONFIG五种取值,默认值为HKEY_CURRENT_USER。 

  

12、CreateKey方法 

  

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

  

13、OpenKey方法 

  

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

  

14、WriteString方法 

  

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

  

15、ReadString方法 

  

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

  

2、实例 

  

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

  

21、将信息写入注册表 

  

相应代码如下: 

  

var 

  

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

  

 

  

begin 

  

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

  

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

  

ifreg.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;//指定需要操作的注册表的主键 

  

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

  

begin 

  

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

  

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

  

reg.CloseKey;
//关闭注册表 

  

end

  

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

  

 

  

end

  

3、总结 

  

本文首先介绍了在Delphi中操作注册表的方法,然后举例说明了具体应用。
posted @ 2008-05-21 12:48  zscy  阅读(584)  评论(0)    收藏  举报