您的位置:首页 > 编程语言 > Delphi

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

2014-03-07 10:05 423 查看
Delphi中注册表操作类TRegistry使用方法


{XPwin7等系统中注册表中的主键}
HKEY_CLASSES_ROOT  {文件类型信息}
HKEY_CURRENT_USER  {当前用户信息,也是RootKey的默认值}

HKEY_LOCAL_MACHINE {软硬件信息}

HKEY_USERS     {所有用户信息}
HKEY_CURRENT_CONFIG {当前配置信息}

delphi2010中的方法属性 

 constructorCreate;overload;
  constructorCreate(AAccess:LongWord);overload;
  destructorDestroy;override;
  procedureCloseKey;
  functionCreateKey(constKey:string):Boolean;
  functionDeleteKey(constKey:string):Boolean;
  functionDeleteValue(constName:string):Boolean;{删除键值}
  functionGetDataAsString(constValueName:string;PrefixType:Boolean=false):string;
  functionGetDataInfo(constValueName:string;varValue:TRegDataInfo):Boolean;
  functionGetDataSize(constValueName:string):Integer;
  functionGetDataType(constValueName:string):TRegDataType;
  functionGetKeyInfo(varValue:TRegKeyInfo):Boolean;
  procedureGetKeyNames(Strings:TStrings);
  procedureGetValueNames(Strings:TStrings);
  functionHasSubKeys:Boolean;
  functionKeyExists(constKey:string):Boolean;
  functionLoadKey(constKey,FileName:string):Boolean;
  procedureMoveKey(constOldName,NewName:string;Delete:Boolean);
  functionOpenKey(constKey:string;CanCreate:Boolean):Boolean;
  functionOpenKeyReadOnly(constKey:String):Boolean;
  functionReadCurrency(constName:string):Currency;
  functionReadBinaryData(constName:string;varBuffer;BufSize:Integer):Integer;
  functionReadBool(constName:string):Boolean;
  functionReadDate(constName:string):TDateTime;
  functionReadDateTime(constName:string):TDateTime;
  functionReadFloat(constName:string):Double;
  functionReadInteger(constName:string):Integer;
  functionReadString(constName:string):string;
  functionReadTime(constName:string):TDateTime;
  functionRegistryConnect(constUNCName:string):Boolean;
  procedureRenameValue(constOldName,NewName:string);
  functionReplaceKey(constKey,FileName,BackUpFileName:string):Boolean;
  functionRestoreKey(constKey,FileName:string):Boolean;
  functionSaveKey(constKey,FileName:string):Boolean;
  functionUnLoadKey(constKey:string):Boolean;
  functionValueExists(constName:string):Boolean;
  procedureWriteCurrency(constName:string;Value:Currency);
  procedureWriteBinaryData(constName:string;varBuffer;BufSize:Integer);
  procedureWriteBool(constName:string;Value:Boolean);
  procedureWriteDate(constName:string;Value:TDateTime);
  procedureWriteDateTime(constName:string;Value:TDateTime);
  procedureWriteFloat(constName:string;Value:Double);
  procedureWriteInteger(constName:string;Value:Integer);
  procedureWriteString(constName,Value:string);
  procedureWriteExpandString(constName,Value:string);
  procedureWriteTime(constName:string;Value:TDateTime);
  propertyCurrentKey:HKEYreadFCurrentKey;
  propertyCurrentPath:stringreadFCurrentPath;
  propertyLazyWrite:BooleanreadFLazyWritewriteFLazyWrite;
  propertyLastError:LongintreadFLastError;
  propertyLastErrorMsg:stringreadGetLastErrorMsg;
  propertyRootKey:HKEYreadFRootKeywriteSetRootKey;
  propertyRootKeyName:stringreadGetRootKeyName;
  propertyAccess:LongWordreadFAccesswriteFAccess;




{DelphiTRegistry类的方法}
1.Create
2.CreateKey创建一个键

函数原型:functionCreateKey(constKey:String):Boolean;

新建一个名为Key的键,Key可以为绝对的或相对的名字,绝对名用反斜杠开头,相对名是新建一个当前键的子键,新建没有值。

成功返回True,否则返回False,如果该键已存在将不产生效果。

3.DeleteKey删除键
函数原型:FunctionDeleteKey(constKey:string):Boolean;
删除一个键及相关联的数据。
4.OpenKey打开键

函数原型:FunctionOpenKey(constKey:string;cancreate:Boolean):Boolean;
使用该函数可以指定一个键作为当前键,如果键为空,则当前键将设置为根键。
Cancreate决定是否在指定键不存在时创建该键,默认为false不创建新键,该函数创建的键的键值将不确定。
如果成功地打开或创建,该函数返回True。

5.CloseKey关闭键
函数原型:procedureCloseKey;
当不再使用一个键时应用该方法关闭该键。

6.keyExists方法判断键是否存在
函数原型:FunctionKeyExists(constKey:string):Boolean;
判断指定的键是否存在,存在返回true,否则返回false。
7.Hassubkeys判断是否有子键
函数原型:FunctionhassubKeys:Boolean;
判断当前键是否有子键,有返回True,否则返回False。

8.DeleteValue删除值
函数原型:FunctionDeleteValue(constName:string):Boolean;
删除当前键中指定的一个数据值name。
9.GetDataSize获取值大小
函数原型:FunctionGetDataSize(constValueName:string):integer;
返回当前键中一个指定数值ValueName数据的大小。
10.GetDataType获取值数据类型
函数原型:FunctionGetDataType(constValuename;string):TRegDataType;
返回当前键中一个指定数值Valuename数据的类型。
11.GetKeyInfo方法
函数原型:FunctionGetKeyInfo(varvalue:TRegkeyinfo):Boolean;
返回当前键的信息,在于value中。
TRegkeyinfo=record
 maxsubkeylen:integer;子键名的最长值(字节)
 numvalues:integer;键值的数量
 maxvaluelen;最长的键值名的长度
 Filetime:TFileTime;最后一次更改的时间
end;
12.Getkeynames方法返回所有子键
函数原型:ProcedureGetkeynames(strings:Tsrtings);
返回当前键所有子键的名子列表串。
13.Getvaluenames返回当前所欲键值名
函数原型:ProcedureGetvaluenames(strings:Tstrings);
返回当前键所有键值名的列表串。
14.LoadKey方法
FunctionLoadKey(constKey,fileNmae:string):Boolean;
在根键下新建
从一个文件中加载注册信息到子键中,文件注册信息中包含数据值名、子键和数据。
LoadKey使创建一个键单一化,子键,键值和数据在一人操作中完成,所有这些称为一组,和单独地创建它们不同应用程序可以在一个文件中读取一组数据,这在用户运行中重新设置有特别的用处。
Key为要创建子键的名子
FileName:为文件的位置,所指定的文件必须为以前用SaveKey函数或RegSaveKeyAPI函数所建立的,文件名不能包括扩展名。

15.OpenKeyReadOnly方法
functionOpenKeyReadOnly(constKey:String):Boolean;
以只读的方式打开Key值指定的键。

16.MoveKey方法
procedureMoveKey(constOldName,NewName:String;Delete:Boolean);
该方法移动或复制一个键到一个新的位置,并把键的名子改为NewName。
在Win95/98下该的子键和数据将被一起移动或复制到新的位置,在NT下子键必须用MoveKey明确的移动或自制。
17.RegistryConnect方法
functionRegistryConnect(constUNCName:String):Boolean;
与另一台计算机的注册表建立连接,在建立连接前应将Rootkey属性设为HKEY_USERS或HKEY_LOCAL_MACHINE。
UNCName是另一台计算机的名子。格式如://computername 













                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息