各位大哥问个问题
如何在Delphi中实现注册表的读写啊???

解决方案 »

  1.   

    Reg:=TRegistry.Create;
      Reg.RootKey:=HKEY_LOCAL_MACHINE;
      Reg.OpenKey('SOFTWARE\fdfdf',True);
      Reg.WriteString('APPPath',Apppath);
      Reg.CloseKey;
      

  2.   

    Reg:TRegistry;
     别忘了引用REGISTRY单元
      

  3.   

    uses Registry
    //读注册表里的内容
    var
      myUserID,mySQLServerIP,myPassword:String;
      Reg:TRegistry;
    begin
      Reg:=Tregistry.Create;                //创建Tregistry对象的实例
      Reg.Rootkey := HKEY_CURRENT_USER ;    //设置根键名称
      Reg.OpenKey('\Software\Microsoft\myReg',True);
      try
        myUserID:=Reg.ReadString('UserID');
        mySQLServerIP:=Reg.ReadString('SqlServerIP');
        myPassword:=Reg.ReadString('SqlServerPwd');
        myPassWord:=Decrypt(myPassword,0);
      except
       //.....
      end;
    下面的代码是写注册表
    var
      Reg:TRegistry;
    begin
      Reg:=Tregistry.Create;                //创建Tregistry对象的实例
      Reg.Rootkey := HKEY_CURRENT_USER ;    //设置根键名称
      Reg.OpenKey('\Software\Microsoft\myReg',True);
      Reg.WriteString('UserID',txtUser.Text);
      Reg.WriteString('SqlServerIP',txtIP.Text);
      Reg.WriteString('SqlServerPwd',Decrypt(txtPassword.Text,1));
      Reg.CloseKey;
      Reg.Free;                          //释放对象
    end;
      

  4.   

    http://soft.56kc.com/Filedown.aspx?FID=408
    http://soft.56kc.com/FileDown.aspx?FID=164
      

  5.   

    呵呵.已经很清楚了.
    在Delphi下操作注册表应该不是什么难事了.TRegistry 类很强大
      

  6.   

    TRegistry很强的,不过包含起来文件也要大不少  我给你一个直接用API操作注册表的单元,只处理字符串的unit Unit_Reg;interface
    uses
      Windows;
    procedure AddValue(Root: HKEY; StrPath: pchar; StrValue: pchar; Strdata: pchar; DataType: integer);
    procedure DelValue(Root: HKEY; StrPath: pchar; StrValue: pchar);
    implementationfunction OpenKey(Root: HKEY; StrPath: pchar): Hkey;
    var TempKey: Hkey;
    begin
      TempKey := 0;
      RegOpenKeyEx(Root, StrPath, 0, KEY_ALL_ACCESS, TempKey);
      Result := TempKey;
    end;function CreateKey(Root: HKEY; StrPath: pchar): Hkey;
    var TempKey: HKey; Disposition: Integer;
    begin
      TempKey := 0;
      RegCreateKeyEx(Root, StrPath, 0, nil, 0, KEY_ALL_ACCESS, nil, TempKey, @Disposition);
      Result := TempKey;
    end;procedure AddValue(Root: HKEY; StrPath: pchar; StrValue: pchar; Strdata: pchar; DataType: integer);
    var s: Hkey;
      DataSize: Integer;
    begin
      s := CreateKey(Root, StrPath);
      DataSize := length(Strdata);
      RegSetValueEx(s, StrValue, 0, REG_SZ, Strdata, DataSize); //
      RegCloseKey(s);
    end;procedure DelValue(Root: HKEY; StrPath: pchar; StrValue: pchar);
    var s: Hkey;
    begin
      s := OpenKey(Root, StrPath);
      RegDeleteValue(s, StrValue);
      RegCloseKey(s);
    end;
    end.
      

  7.   

    uses Registryfunction GetRegistryValue(KeyName: string): string;
    var
      Registry: TRegistry;
    begin
      Registry := TRegistry.Create(KEY_READ);
      try
        Registry.RootKey = HKEY_LOCAL_MACHINE;
        // False because we do not want to create it if it doesn't exist
        Registry.OpenKey(KeyName, False); 
        Result := Registry.ReadString('VALUE1');
      finally
        Registry.Free;
      end;
    end;
    procedure TForm1.WMEndSession(var Message: TWMEndSession);
    var
      Reg: TRegistry;
    begin
      Reg := TRegistry.Create;
      try
        Reg.RootKey := HKEY_CURRENT_USER;
        if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\RunOnce', True) then
        begin
          Reg.WriteString('MyApp','"' + ParamStr(0) + '"');
          Reg.CloseKey;
        end;
      finally
        Reg.Free;
        inherited;
      end;end;