1.Delphi操作注册表是通过系统类TRegistry实现的,需要引用Registry
2.注册表根键:在win7中注册表根键有五个,以下几个根键的数据类型为const LongWord,需引用Windows:
HKEY_CLASSES_ROOT:
HKEY_CURRENT_USER:
HKEY_LOCAL_MACHINE
HKEY_USERS:
HKEY_CURRENT_CONFIG:
3.使用方法:
a.实例化TRegistry对象: TRegistry.Create( ) 默认根键为HKEY_CURRENT_USER;
b.指定根键: Registry.RootKey:=HKEY_CURRENT_USER;
c.指定要操作的主键: function OpenKey(const Key: String; CanCreate: Boolean): Boolean;
d 操作主键(子建) :读取、写入、删除函数过程的调用
e关闭主键: Registry.CloseKey();
d释放对象: Registry.Free();注意防止内存泄露
4.常用方法:
a.读操作:
function ReadString(const Name: string): string;
function ReadInteger(const Name: string): Integer;
function ReadBinaryData(const Name: string; var Buffer; BufSize: Integer):Integer;
其它方法还有:ReadBool、ReadCurrency、ReadDate、ReadDateTime、ReadFloat、ReadTime。
b.写操作:
procedure WriteString(const Name, Value : string);
procedure WriteInteger(const Name : string ; Value : Integer);
procedure WriteFloat(const Name : string ; Value : Double);
procedure WriteTime(const Name : string ; Value : TDateTime);
procedure WriteBool(const Name : string ; Value : Boolean);
c.删除操作:
function DeleteKey(const Key : string) : Boolean; //删除主键下所有子键,包含主键本身
function DeleteValue(const Key : string) : Boolean; // 单个删除
d.其他操作:
procedure MoveKey(const OldName, NewName: string; Delete: Boolean) ; //移动主键。
function KeyExists(const Key: string): Boolean; //返回值为True表示主键存在。
procedure GetKeyNames(Strings: TStrings); //获取主键名称
procedure GetValueNames(Strings: TStrings); //获取主键下的数据值名称
function ValueExists(const Name: string): Boolean;//用于判断数值名称是否存在
procedure RenameValue(const OldName, NewName: string);//用于数值名称改名
更多请查看帮助文档