在delphi中读写注册表
用Delphi操作Windows 95/NT注册表
本文出自 51CTO.COM技术博客类似于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. |



sally
博客统计信息
热门文章
最新评论
友情链接