在delphi中读写注册表
2007-10-25 14:37
363 查看
用Delphi操作Windows 95/NT注册表
类似于Windows 3.x中的ini文件,Windows 95、Windows NT中的注册表记录了有
关Windows系统、应用软件运行时的初始化参数等。用户经常需要在程序中操作注册
表,以控制软件的启动及保存软件运行中的若干主要参数等。
Windows注册表的结构
运行Regedit,可以进入注册表编辑器。如下图。图1
上图中左框表示注册表的主键;右框中的名称指键值名,数据指键值;状态栏中显
示了当前打开的完整的主键名称。可以看出,整个注册表以树的结构及规则来组织,键
值名和键值组成了该树的叶子。
操作注册表实例
Delphi 3.0中的registry.dcu文件定义注册表的数据结构,并提供了TRegIniFile
这个不可视的控件。在程序中可通过该控件来操作注册表。
下面的例子描述了新建(修改)、读取、删除Windows注册表中
的主键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windo ws\Curre ntVersion\Run下
的键值名RemoteOperate和键值remoteControl.exe 。
unit s_registry;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Contr ols, Forms,
Dial ogs, StdCtrls,registry;
{注意:registry必须自己加上}
type
TForm1 = class(TForm)
new: TButton;
read: TButton;
delete: TButton;
procedure newClick(Sender: TObject);
procedure readClick(Sender: TObject);
procedure deleteClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{新建(修改)注册表}
procedure TForm1.newClick(Sender: TObject);
var ini : TRegIniFile;
begin
ini := TRegIniFile.Create(‘');
{创建TRegIniFile对象}
ini.RootKey:=HKEY_LOCAL_MACHINE;
{改变Rookey,缺省为HKEY_USERS}
ini.WriteString(‘Software\Microsoft\Windows\CurrentVers ion\Run',{主键}
‘RemoteOperate', {键值名,若该名称与主键下的键值名相同,
则修改它的键值。否则,新建键值名及键值}
‘remoteControl.exe'); {键值}
ini.Free;
end;
{读取键值}
procedure TForm1.readClick(Sender: TObject);
var ini : TRegIniFile;
RegStr: String;
begin
ini := TRegIniFile.Create(‘');
ini.RootKey:=HKEY_LOCAL_MACHINE;
RegStr:=ini.ReadString(‘Software\Microsoft\Windows\C urrentVersion\Ru n’,‘RemoteOperate’,‘');
ini.Free;
ShowMessage(RegStr);
end;
{删除键值名及键值}
procedure TForm1.deleteClick(Sender: TObject);
var ini : TRegIniFile;
begin
ini := TRegIniFile.Create(‘');
ini.RootKey:=HKEY_LOCAL_MACHINE;
ini.DeleteKey(‘Software\Microsoft\Windows\CurrentVer sion\Run',‘Remo teOperate');
ini.Free;
end;
end.
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1280022
类似于Windows 3.x中的ini文件,Windows 95、Windows NT中的注册表记录了有
关Windows系统、应用软件运行时的初始化参数等。用户经常需要在程序中操作注册
表,以控制软件的启动及保存软件运行中的若干主要参数等。
Windows注册表的结构
运行Regedit,可以进入注册表编辑器。如下图。图1
上图中左框表示注册表的主键;右框中的名称指键值名,数据指键值;状态栏中显
示了当前打开的完整的主键名称。可以看出,整个注册表以树的结构及规则来组织,键
值名和键值组成了该树的叶子。
操作注册表实例
Delphi 3.0中的registry.dcu文件定义注册表的数据结构,并提供了TRegIniFile
这个不可视的控件。在程序中可通过该控件来操作注册表。
下面的例子描述了新建(修改)、读取、删除Windows注册表中
的主键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windo ws\Curre ntVersion\Run下
的键值名RemoteOperate和键值remoteControl.exe 。
unit s_registry;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Contr ols, Forms,
Dial ogs, StdCtrls,registry;
{注意:registry必须自己加上}
type
TForm1 = class(TForm)
new: TButton;
read: TButton;
delete: TButton;
procedure newClick(Sender: TObject);
procedure readClick(Sender: TObject);
procedure deleteClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{新建(修改)注册表}
procedure TForm1.newClick(Sender: TObject);
var ini : TRegIniFile;
begin
ini := TRegIniFile.Create(‘');
{创建TRegIniFile对象}
ini.RootKey:=HKEY_LOCAL_MACHINE;
{改变Rookey,缺省为HKEY_USERS}
ini.WriteString(‘Software\Microsoft\Windows\CurrentVers ion\Run',{主键}
‘RemoteOperate', {键值名,若该名称与主键下的键值名相同,
则修改它的键值。否则,新建键值名及键值}
‘remoteControl.exe'); {键值}
ini.Free;
end;
{读取键值}
procedure TForm1.readClick(Sender: TObject);
var ini : TRegIniFile;
RegStr: String;
begin
ini := TRegIniFile.Create(‘');
ini.RootKey:=HKEY_LOCAL_MACHINE;
RegStr:=ini.ReadString(‘Software\Microsoft\Windows\C urrentVersion\Ru n’,‘RemoteOperate’,‘');
ini.Free;
ShowMessage(RegStr);
end;
{删除键值名及键值}
procedure TForm1.deleteClick(Sender: TObject);
var ini : TRegIniFile;
begin
ini := TRegIniFile.Create(‘');
ini.RootKey:=HKEY_LOCAL_MACHINE;
ini.DeleteKey(‘Software\Microsoft\Windows\CurrentVer sion\Run',‘Remo teOperate');
ini.Free;
end;
end.
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1280022
相关文章推荐
- [转]Delphi 几个读写注册表的函数
- DELPHI注册表读写,含创建子键
- Delphi中读写注册表
- Delphi读写注册表
- java 读写注册表总结
- 读写注册表
- QSetting读写注册表
- Qt读写注册表和ini文件
- DELPHI读写xml文件
- javascript ActiveXObject javascript取得机器名,用户名,读写注册表,启动应用程序
- 【VS调试】C#读写Windows 7注册表时抛出“不允许所请求的注册表访问权”的解决办法
- Delphi读写二进制文件
- Delphi中注册表的操作
- 读写注册表
- Delphi的组件读写机制
- Delphi 设置IE默认主页 通用注册表设置
- Qt读写注册表和ini文件
- 简单的读写注册表实例
- Delphi多线程编程之三同步读写全局数据
- VC读写注册表