Reg

uses Registry;

    不废话了,直入主题.

    Registry为我们提供了操作注册表的方法,这里我们用TRegIniFile提供的方法,TRegIniFile继承自TRegistry,TRegIniFile提供的方法类似于前面讲到的操作Ini文件的方法,这样就大大简化了我们操作"神秘"注册表的方法,下面是常用的方法:

function CreateKey(const Key: String): Boolean;  创建Key
function OpenKey(const Key: String; CanCreate: Boolean): Boolean; 打开Key,当CanCreate为True时,如果Key不存在,会自动创建
procedure EraseSection(const Section: String); 删除
WriteString,WriteInteger,WriteBool,WriteCurrency 写值
ReadString,ReadInteger,ReadBool,ReadCurrency  读值
ReadSection,ReadSections,ReadSectionValues 这些是不是很眼熟,和INI文件的方法一样
看例子

创建节点
view plaincopy to clipboardprint?
var  
  reg:TRegIniFile;  
begin  
  reg := TRegIniFile.Create;               //创建实例  
  reg.RootKey := HKey_Local_Machine;       //设置根值  
  if reg.OpenKey('SOFTWARE/MyReg',True) then      //打开 HKey_Local_Machine/SOFTWARE/MyReg,如果MyReg不存在,则自动创建  
  begin  
    //在HKey_Local_Machine/SOFTWARE/MyReg下创建MySec项,然后在MySec中创建一个字符串MyValue,值为China  
    reg.WriteString('MySec','MyValue','China');  
  end;  
end; 
var
  reg:TRegIniFile;
begin
  reg := TRegIniFile.Create;               //创建实例
  reg.RootKey := HKey_Local_Machine;       //设置根值
  if reg.OpenKey('SOFTWARE/MyReg',True) then      //打开 HKey_Local_Machine/SOFTWARE/MyReg,如果MyReg不存在,则自动创建
  begin
    //在HKey_Local_Machine/SOFTWARE/MyReg下创建MySec项,然后在MySec中创建一个字符串MyValue,值为China
    reg.WriteString('MySec','MyValue','China');
  end;
end;

删除值
view plaincopy to clipboardprint?
var 
  reg:TRegIniFile;  
begin 
  reg := TRegIniFile.Create;               //创建实例  
  reg.RootKey := HKey_Local_Machine;       //设置根值  
  if reg.OpenKey('SOFTWARE/MyReg/MySec',True) then 
  begin 
    //删除HKey_Local_Machine/SOFTWARE/MyReg/MySec下MyValue一项  
    reg.DeleteValue('MyValue');  
  end;  
end; 
var
  reg:TRegIniFile;
begin
  reg := TRegIniFile.Create;               //创建实例
  reg.RootKey := HKey_Local_Machine;       //设置根值
  if reg.OpenKey('SOFTWARE/MyReg/MySec',True) then
  begin
    //删除HKey_Local_Machine/SOFTWARE/MyReg/MySec下MyValue一项
    reg.DeleteValue('MyValue');
  end;
end;

删除Key
view plaincopy to clipboardprint?
var 
  reg:TRegIniFile;  
begin 
  reg := TRegIniFile.Create;               //创建实例  
  reg.RootKey := HKey_Local_Machine;       //设置根值  
  if reg.OpenKey('SOFTWARE/MyReg',True) then 
  begin 
    //删除HKey_Local_Machine/SOFTWARE/MyReg下的MySec  
    reg.EraseSection('MySec');  
  end;  
end; 
var
  reg:TRegIniFile;
begin
  reg := TRegIniFile.Create;               //创建实例
  reg.RootKey := HKey_Local_Machine;       //设置根值
  if reg.OpenKey('SOFTWARE/MyReg',True) then
  begin
    //删除HKey_Local_Machine/SOFTWARE/MyReg下的MySec
    reg.EraseSection('MySec');
  end;
end; 

读取Key的列表以及读取Key下值的列表都与INI文件的操作类似,这里就不再熬述了.


本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/bdmh/archive/2009/05/05/4151632.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值