电脑爱好者之家

Delphi的注册表操作(2)

时间:2013-02-15 21:06来源:未知 作者:熊猫蜀黍 点击:
三、从注册表中读取信息 Read系列方法从注册表读取指定的信息(字符串、二进制和十六进制),并转换为指定的类型。 1.Read系列方法。 function ReadString(const Name: string): string; 读取一个字符串值,Name为

  三、从注册表中读取信息
  Read系列方法从注册表读取指定的信息(字符串、二进制和十六进制),并转换为指定的类型。
 
  1.Read系列方法。
  function ReadString(const Name: string): string;
     读取一个字符串值,Name为字符串名称。
  function ReadInteger(const Name: string): Integer;
    读取一个整数值,Name为整数名称。
  function ReadBinaryData(const Name: string; var Buffer; BufSize: Integer):Integer;
    读取二进制值,Name为二进制值名称,Buffer为接收缓冲区,BufSize为缓冲区大小,返回为实际读取的字节数。
  其它方法还有:ReadBool、ReadCurrency、ReadDate、ReadDateTime、ReadFloat、ReadTime。
   founction ReadFloat(const Name : string) : Double;
   founction ReadTime(const Name : string) : TdateTime;
   founction ReadBool(const Name) : Boolean;

  2.读取信息一例(显示Windows的版本)。
    在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion下,有三个字符串值Version、VersionNumber和SubVersionNumber,用于记录当前Windows的版本号。
 
  {请在Uses中包含Registry单元}
  procedure TForm1.Button1Click(Sender:TObject);
  var
    ARegistry : TRegistry;
  begin
    ARegistry := TRegistry.Create;  //建立一个TRegistry实例
    with ARegistry do
    begin
      RootKey := HKEY_LOCAL_MACHINE;  //指定根键为HKEY_LOCAL_MACHINE
      //打开主键Software\Microsoft\Windows\CurrentVersion
      if OpenKey('Software\Microsoft\Windows\CurrentVersion',false) then
      begin
        memo1.lines.add('Windows版本:'    + ReadString('Version'));
        memo1.lines.add('Windows版本号:'  + ReadString('VersionNumber'));
        memo1.lines.add('Windows子版本号:'+ ReadString('SubVersionNumber'));
      end;
      CloseKey;//关闭主键
      Destroy;//释放内存
    end;
  end;
 
  四、向注册表中写入信息
  Write系列方法将信息转化为指定的类型,并写入注册表。
 
  1.Write系列方法。
  procedure WriteString(const Name, Value: string);
    写入一个字符串值,Name为字符串的名称,Value为字符串值。
  procedure WriteInteger(const Name: string; Value: Integer);
    写入一个整数值。
  procedure WriteBinaryData(const Name: string; var Buffer; BufSize: Integer);
    写入二进制值,Name为二进制值的名称,Buffer为包含二进制值的缓冲区,BufSize为缓冲区大小。
  其它方法还有:WriteBool、WriteCurrency、WriteDate、WriteDateTime、WriteFloat、WriteTime。
 
   procedure WriteFloat(const Name : string ; Value : Double);
   procedure WriteTime(const Name : string ; Value : TDateTime);
   procedure WriteBool(const Name : string ; Value : Boolean);

  2.写入信息一例。
  下面程序使Delphi随Windows启动而自动运行。
 
  var
    ARegistry : TRegistry;
  begin
    ARegistry := TRegistry.Create;  //建立一个TRegistry实例
    with ARegistry do
    begin
      RootKey:=HKEY_LOCAL_MACHINE;
      if OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',True) then
        WriteString('delphi','C:\Program Files\borland\delphi3\bin\delphi32.exe');
      CloseKey;
      Destroy;
    end;
  end;
(责任编辑:熊猫蜀黍)

织梦二维码生成器
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片