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

在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: