关于对注册表的操作

时间:2022-09-05 08:27:13
有哪位大虾可以告知如何在D7下对注册表进行操作,最好有代码,谢谢!

6 个解决方案

#1


uses: Registry;

var
  r:TRegistry;
begin
  r:=Tregistry.Create();
  r.root....
  r.writeString(...);
  r.free;
end;

#2


你看看帮助吧,有很多例子啊,我这里没有delphi,不能给你贴了

#3


uses registry;
Var
Reg:TRegistry;
S_regTree:string;
begin
try
Reg:=TRegistry.Create;
S_regTree:='你想创建的目录';
Reg.RootKey:=HKEY_CURRENT_USER;
if (Reg.OpenKey(S_regTree,False))=False then
Reg.CreateKey(S_regTree);
if Reg.OpenKey(S_regTree,true) then
begin
Reg.WriteString('Name',Value);//读取用ReadString;
end;
Reg.CloseKey;
except
end;
end;

当然这只是个例子,仅供参考。

#4


在应用程序中,经常需要对注册表进行各种操作,如将程序名称、安装路径等信息保存到注册表中。Delphi对相应API函数做了进一步封装,使得在应用程序中操作注册表更加简单。


1、原理

Delphi提供了TRegistry类,它直接继承自TObject类,主要属性有:RootKey等,主要方法有:Create,CreateKey(Key),OpenKey(Key,CanCreate),WriteString(Name,Value),ReadString(Name),CloseKey,Free等,下面对它们进行简单介绍。

1、1、RootKey属性

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

1、2、CreateKey方法

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

1、3、OpenKey方法

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

1、4、WriteString方法

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

1、5、ReadString方法

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


2、实例

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

2、1、将信息写入注册表

相应代码如下:

var

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

...

begin

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

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

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

begin

reg.WriteString('文章名称','在Delphi中轻松操作注册表');//将需要保存的信息写入注册表

reg.CloseKey;//关闭注册表

end;

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

...

end;


2、2、从注册表中读取信息

相应代码如下:

var

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

s:String;//声明一个字符串变量用来存放要读取的信息

...

begin

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

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

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

begin

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

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

reg.CloseKey;//关闭注册表

end;

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

...

end;



#5


晕..太快了.吧..


看看这个类TRegistry的帮助也有收获的..里面有例子

#6


源码你去这里下载:
http://www.ksaiy.com/ynen/code.asp

#1


uses: Registry;

var
  r:TRegistry;
begin
  r:=Tregistry.Create();
  r.root....
  r.writeString(...);
  r.free;
end;

#2


你看看帮助吧,有很多例子啊,我这里没有delphi,不能给你贴了

#3


uses registry;
Var
Reg:TRegistry;
S_regTree:string;
begin
try
Reg:=TRegistry.Create;
S_regTree:='你想创建的目录';
Reg.RootKey:=HKEY_CURRENT_USER;
if (Reg.OpenKey(S_regTree,False))=False then
Reg.CreateKey(S_regTree);
if Reg.OpenKey(S_regTree,true) then
begin
Reg.WriteString('Name',Value);//读取用ReadString;
end;
Reg.CloseKey;
except
end;
end;

当然这只是个例子,仅供参考。

#4


在应用程序中,经常需要对注册表进行各种操作,如将程序名称、安装路径等信息保存到注册表中。Delphi对相应API函数做了进一步封装,使得在应用程序中操作注册表更加简单。


1、原理

Delphi提供了TRegistry类,它直接继承自TObject类,主要属性有:RootKey等,主要方法有:Create,CreateKey(Key),OpenKey(Key,CanCreate),WriteString(Name,Value),ReadString(Name),CloseKey,Free等,下面对它们进行简单介绍。

1、1、RootKey属性

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

1、2、CreateKey方法

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

1、3、OpenKey方法

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

1、4、WriteString方法

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

1、5、ReadString方法

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


2、实例

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

2、1、将信息写入注册表

相应代码如下:

var

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

...

begin

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

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

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

begin

reg.WriteString('文章名称','在Delphi中轻松操作注册表');//将需要保存的信息写入注册表

reg.CloseKey;//关闭注册表

end;

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

...

end;


2、2、从注册表中读取信息

相应代码如下:

var

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

s:String;//声明一个字符串变量用来存放要读取的信息

...

begin

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

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

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

begin

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

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

reg.CloseKey;//关闭注册表

end;

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

...

end;



#5


晕..太快了.吧..


看看这个类TRegistry的帮助也有收获的..里面有例子

#6


源码你去这里下载:
http://www.ksaiy.com/ynen/code.asp