Delphi的TRegistry注册表类方法详解

原创 2001年07月21日 15:55:00
Delphi的TRegistry注册表类方法详解

●GetDataInfo方法
Function GetDataInfo(const ValueName:String;Var Value:TRegDataInfo):Boolean;
TregDataType=(rdunknown,rdstring,rdexpandstring,rdexpandstring,rdinterger,rdbinary);
TregDataInfo=record
   Regdata:TRegDataType;数据类型
  dataSize:integer;数据大小
end
valuename:和当前键关联的数据值名称
value:返回数据的信息,如为rdstring和rdexpandstring类型,则数据大小包括字符串未尾的空结束字符。
  如果成功返回True,失败返回False,并且Value的值为zeros
rdexpandstring:是一个包含环境变量的字符串;如“%PATH%”。

●CreateKey方法
Function CreateKey(const Key:string):Boolena;
  新建一个名为Key的键,Key可以为绝对的或相对的名字,绝对名用反斜杠“/”开头,相对名是新建一个当前键的子键。新建没有值。
  成功返回True,否则返回False,如果该键已存在将不产生效果。

●DeleteKey方法
Function DeleteKey(const Key:string):Boolean;
  删除一个键及相关联的数据,在win95中子键也将被删除,NT中子键必须一个个删除。

●DeleteValue方法
Function DeleteValue (const Name:string):Boolean;
  删除当前键中指定的一个数据值name。

●GetDataSize方法
Function GetDataSize(const ValueName:string):integer;
  返回当前键中一个指定数值ValueName数据的大小。

●GetDataType方法
Function GetDataType(const Valuename;string):TRegDataType;
  返回当前键中一个指定数值Valuename数据的类型。

●GetKeyInfo方法
Function GetKeyInfo(var value:TRegkeyinfo):Boolean;
  返回当前键的信息,在于value中。
TRegkeyinfo=record
  maxsubkeylen:integer;子键名的最长值(字节)
  numvalues:integer;键值的数量
  maxvaluelen;最长的键值名的长度
  Filetime:TFileTime;最后一次更改的时间
end;

●Getkeynames方法
Procedure Getkeynames(strings:Tsrtings);
  返回当前键所有子键的名子列表串。

●Getvaluenames
Procedure Getvaluenames(strings:Tstrings);
  返回当前键所有键值名的列表串。

●Hassubkeys方法
Function hassubKeys:Boolean;
  判断当前键是否有子键,有返回True,否则返回False。

●keyExists方法
Function KeyExists(const Key:string):Boolean;
  判断指定的键是否存在。

●LoadKey方法
Function LoadKey(const Key,fileNmae:string):Boolean;
 在根键下新建
 从一个文件中加载注册信息到子键中,文件注册信息中包含数据值名、子键和数据。
  LoadKey使创建一个键单一化,子键,键值和数据在一人操作中完成,所有这些称为一组,和单独地创建它们不同应用程序可以在一个文件中读取一组数据,这在用户运行中重新设置有特别的用处。
 Key为要创建子键的名子
 FileName:为文件的位置,所指定的文件必须为以前用SaveKey函数或RegSaveKey API函数所建立的,文件名不能包括扩展名。

●OpenKey方法
Function OpenKey(const Key:string;cancreate:Boolean):Boolean;
  使用该函数可以指定一个键作为当前键,如果键为nil,则当前键 将设置为根键。
  Cancreate决定是否在指定键不存在时创建该键,该函数创建的键的键值将不确定。
  如果成功地打开或创建,该函数返回True。

●OpenKeyReadOnly方法
function OpenKeyReadOnly(const Key: String): Boolean;
  以只读的方式打开Key值指定的键。

●CloseKey方法
procedure CloseKey;
  当不再使用一个键时应用该方法关闭该键。

●MoveKey方法
procedure MoveKey(const OldName, NewName: String; Delete: Boolean);
  该方法移动或复制一个键到一个新的位置,并把键的名子改为NewName。
  在Win95/98下该的子键和数据将被一起移动或复制到新的位置,在NT下子键必须用MoveKey明确的移动或自制。

●读取数据的方法
function ReadBinaryData(const Name: String; var Buffer; BufSize: Integer):Integer;
function ReadBool(const Name: String): Boolean;
function ReadCurrency(const Name: String): Currency;
function ReadDate(const Name: String): TDateTime;
function ReadDateTime(const Name: String): TDateTime;
function ReadFloat(const Name: String): Double;
function ReadInteger(const Name: String): Integer;
function ReadString(const Name: String): String;
function ReadTime(const Name: String): TDateTime;
  以上方法从当前主键读取相应数据类型的键值的数据,如果类型不匹配将产生一个异常。

●RegistryConnect方法
function RegistryConnect(const UNCName: String): Boolean;
 与另一台计算机的注册表建立连接,在建立连接前应将Rootkey属性设为HKEY_USERS或HKEY_LOCAL_MACHINE。
 UNCName是另一台计算机的名子。格式如://computername
 假如UNCName为nil,将打开本地计算机。




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

在Delphi中轻松操作注册表TRegistry类在应用程序中,经常需要对注册表进行各种操作,如将程序名称、安装路径等信息保存到注册表中。Delphi对相应API函数做了进一步封装,使得在应用程序中操...
  • Tercel99
  • Tercel99
  • 2006年05月18日 21:17
  • 7893

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

Delphi 中注册表操作类TRegistry使用方法 {XP win7 等系统中 注册表中的主键} HKEY_CLASSES_ROOT    {文件类型信息} HKEY_CURRENT_US...
  • loverceo
  • loverceo
  • 2014年03月07日 10:05
  • 1225

BCB操作注册表

1.导入头文件 #include 2. void __fastcall TForm1::btn2Click(TObject *Sender) //读取 { TRegistry *Are...
  • cddchina
  • cddchina
  • 2014年08月26日 14:13
  • 1178

delphi在64位系统下写注册表注意事项

HKEY_LOCAL_MACHINE写这个主键下的项,在64位系统下可能会重定向,所以构造时要加KEY_WOW64_64KEY reg := TRegistry.Create(KEY_W...
  • cmd9x
  • cmd9x
  • 2016年03月01日 13:49
  • 826

Delphi操作注册表TRegistry类

Delphi操作注册表TRegistry类 在应用程序中,经常需要对注册表进行操作,如将程序名称、安装路径等等信息保存到注册表中。Delphi对相应API函数做了进一步封装,使操作注册表更加简单。 ...
  • daiswy
  • daiswy
  • 2017年02月22日 12:03
  • 120

设置Delphi程序的自启动功能

自启动注册表项:HKEY_LOCAL_MACHINE/Software/Microsoft/CurrentVersion/Run先加入“Registry”单元。再用如下代码:var  Reg: TRe...
  • jing12
  • jing12
  • 2007年09月11日 15:34
  • 391

Delphi的5种方法类型

Delphi的方法类型有:1.静态方法 (Static) 默认类型,可以省略关键字2.虚拟方法 (Virtual)3.动态方法 (Dynamic)4.消息方法 (Message)5.抽象法方 (Abs...
  • cceevv
  • cceevv
  • 2010年05月17日 01:05
  • 3797

delphi 遍历注册表

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

Delphi 类方法和普通方法的区别

//类声明 TMyClass = class public class procedure MyProc; //类方式 constructor Create; ...
  • lailai186
  • lailai186
  • 2012年12月07日 09:34
  • 4641

Delphi 类方法的搞笑答案

最近复习Delphi语法,发现有个类方法一直被忽略了。于是到论坛提问:"除了构造器,还有哪些类方法的例子。" 于是有人答了一发: TSingleton=class private Singl...
  • iamluole
  • iamluole
  • 2016年01月17日 23:25
  • 366
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Delphi的TRegistry注册表类方法详解
举报原因:
原因补充:

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