Delphi 中注册表操作类TRegistry使用方法
{XP win7 等系统中 注册表中的主键}
HKEY_CLASSES_ROOT {文件类型信息}
HKEY_CURRENT_USER {当前用户信息,也是 RootKey 的默认值}
HKEY_LOCAL_MACHINE {软硬件信息}
HKEY_USERS {所有用户信息}
HKEY_CURRENT_CONFIG {当前配置信息}
delphi2010中的方法 属性
constructor Create; overload;
constructor Create(AAccess: LongWord); overload;
destructor Destroy; override;
procedure CloseKey;
function CreateKey(const Key: string): Boolean;
function DeleteKey(const Key: string): Boolean;
function DeleteValue(const Name: string): Boolean;{ 删除键值}
function GetDataAsString(const ValueName: string; PrefixType: Boolean = false): string;
function GetDataInfo(const ValueName: string; var Value: TRegDataInfo): Boolean;
function GetDataSize(const ValueName: string): Integer;
function GetDataType(const ValueName: string): TRegDataType;
function GetKeyInfo(var Value: TRegKeyInfo): Boolean;
procedure GetKeyNames(Strings: TStrings);
procedure GetValueNames(Strings: TStrings);
function HasSubKeys: Boolean;
function KeyExists(const Key: string): Boolean;
function LoadKey(const Key, FileName: string): Boolean;
procedure MoveKey(const OldName, NewName: string; Delete: Boolean);
function OpenKey(const Key: string; CanCreate: Boolean): Boolean;
function OpenKeyReadOnly(const Key: String): Boolean;
function ReadCurrency(const Name: string): Currency;
function ReadBinaryData(const Name: string; var Buffer; BufSize: Integer): Integer;
function ReadBool(const Name: string): Boolean;
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;
function RegistryConnect(const UNCName: string): Boolean;
procedure RenameValue(const OldName, NewName: string);
function ReplaceKey(const Key, FileName, BackUpFileName: string): Boolean;
function RestoreKey(const Key, FileName: string): Boolean;
function SaveKey(const Key, FileName: string): Boolean;
function UnLoadKey(const Key: string): Boolean;
function ValueExists(const Name: string): Boolean;
procedure WriteCurrency(const Name: string; Value: Currency);
procedure WriteBinaryData(const Name: string; var Buffer; BufSize: Integer);
procedure WriteBool(const Name: string; Value: Boolean);
procedure WriteDate(const Name: string; Value: TDateTime);
procedure WriteDateTime(const Name: string; Value: TDateTime);
procedure WriteFloat(const Name: string; Value: Double);
procedure WriteInteger(const Name: string; Value: Integer);
procedure WriteString(const Name, Value: string);
procedure WriteExpandString(const Name, Value: string);
procedure WriteTime(const Name: string; Value: TDateTime);
property CurrentKey: HKEY read FCurrentKey;
property CurrentPath: string read FCurrentPath;
property LazyWrite: Boolean read FLazyWrite write FLazyWrite;
property LastError: Longint read FLastError;
property LastErrorMsg: string read GetLastErrorMsg;
property RootKey: HKEY read FRootKey write SetRootKey;
property RootKeyName: string read GetRootKeyName;
property Access: LongWord read FAccess write FAccess;
{Delphi TRegistry类的方法}
1.Create
2.CreateKey 创建一个键
函数原型:function CreateKey(const Key: String):Boolean;
新建一个名为Key的键,Key可以为绝对的或相对的名字,绝对名用反斜杠开头,相对名是新建一个当前键的子键,新建没有值。
成功返回True,否则返回False,如果该键已存在将不产生效果。
3.DeleteKey 删除键
函数原型:Function DeleteKey(const Key:string):Boolean;删除一个键及相关联的数据。
4.OpenKey 打开键
函数原型:Function OpenKey(const Key:string;cancreate:Boolean):Boolean;
使用该函数可以指定一个键作为当前键,如果键为空,则当前键将设置为根键。
Cancreate决定是否在指定键不存在时创建该键,默认为false不创建新键,该函数创建的键的键值将不确定。
如果成功地打开或创建,该函数返回True。
5.CloseKey 关闭键
函数原型:procedure CloseKey;
当不再使用一个键时应用该方法关闭该键。
6.keyExists方法 判断键是否存在
函数原型:Function KeyExists(const Key:string):Boolean;判断指定的键是否存在,存在返回true,否则返回false。
7.Hassubkeys 判断是否有子键
函数原型:Function hassubKeys:Boolean;判断当前键是否有子键,有返回True,否则返回False。
8.DeleteValue 删除值
函数原型:Function DeleteValue (const Name:string):Boolean;删除当前键中指定的一个数据值name。
9.GetDataSize 获取值大小
函数原型:Function GetDataSize(const ValueName:string):integer;返回当前键中一个指定数值ValueName数据的大小。
10.GetDataType 获取值数据类型
函数原型:Function GetDataType(const Valuename;string):TRegDataType;返回当前键中一个指定数值Valuename数据的类型。
11.GetKeyInfo方法
函数原型:Function GetKeyInfo(var value:TRegkeyinfo):Boolean;返回当前键的信息,在于value中。
TRegkeyinfo=record
maxsubkeylen:integer;子键名的最长值(字节)
numvalues:integer;键值的数量
maxvaluelen;最长的键值名的长度
Filetime:TFileTime;最后一次更改的时间
end;
12.Getkeynames方法 返回所有子键
函数原型:Procedure Getkeynames(strings:Tsrtings);返回当前键所有子键的名子列表串。
13.Getvaluenames 返回当前所欲键值名
函数原型:Procedure Getvaluenames(strings:Tstrings);返回当前键所有键值名的列表串。
14.LoadKey方法
Function LoadKey(const Key,fileNmae:string):Boolean;
在根键下新建
从一个文件中加载注册信息到子键中,文件注册信息中包含数据值名、子键和数据。
LoadKey使创建一个键单一化,子键,键值和数据在一人操作中完成,所有这些称为一组,和单独地创建它们不同应用程序可以在一个文件中读取一组数据,这在用户运行中重新设置有特别的用处。
Key为要创建子键的名子
FileName:为文件的位置,所指定的文件必须为以前用SaveKey函数或RegSaveKey API函数所建立的,文件名不能包括扩展名。
15.OpenKeyReadOnly方法
function OpenKeyReadOnly(const Key: String): Boolean;
以只读的方式打开Key值指定的键。
16.MoveKey方法
procedure MoveKey(const OldName, NewName: String; Delete: Boolean);
该方法移动或复制一个键到一个新的位置,并把键的名子改为NewName。
在Win95/98下该的子键和数据将被一起移动或复制到新的位置,在NT下子键必须用MoveKey明确的移动或自制。
17.RegistryConnect方法
function RegistryConnect(const UNCName: String): Boolean;
与另一台计算机的注册表建立连接,在建立连接前应将Rootkey属性设为HKEY_USERS或HKEY_LOCAL_MACHINE。
UNCName是另一台计算机的名子。格式如://computername