Delphi 操作注册表

来源:互联网 发布:mac桌面壁纸在哪里 编辑:程序博客网 时间:2024/04/29 09:03

uses Registry;

 //写注册表
   reg.SetRegString(HKEY_LOCAL_MACHINE, 'SOFTWARE\RegPjt', 'RegkeyJqh', unpfun.Enc(Trim(cxEdit_Nsrsbh.Text)));
   reg.SetRegString(HKEY_LOCAL_MACHINE, 'SOFTWARE\RegPjt', 'RegkeyJhm', Trim(cxEdit_jhm.text));
   reg.SetRegString(HKEY_LOCAL_MACHINE, 'SOFTWARE\RegPjt', 'RegkeyZcm', unpfun.Enc(Trim(cxEdit_zcm.Text)));
   reg.SetRegString(HKEY_LOCAL_MACHINE, 'SOFTWARE\RegPjt', 'RegkeyZcRq', cxEdit_zcrq.Text);

//读注册表
reg.GetRegString(HKEY_LOCAL_MACHINE, 'SOFTWARE\RegPjt', 'RegkeyZcm')

 

套用下面的函数即可

-----------------------------------------------------------------------------------------------------------------------------------------

{
写注册表
rootkey:HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS
openkey:注册表项
}

procedure Reg_Write(rootkey: cardinal; openkey, RegKey: string; RegValue: variant);
var
  reg: Tregistry;
begin
  reg := Tregistry.Create;
  try
    reg.rootkey := rootkey;
    reg.openkey(openkey, true);
    case varType(RegValue) of
      varInteger: reg.WriteInteger(RegKey, RegValue);
      varDouble: reg.WriteFloat(RegKey, RegValue);
      varString: reg.WriteString(RegKey, RegValue);
    end;
  finally
    reg.Free;
  end;
end;


{
rootkey:HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS
openkey:注册表项
读注册表regtype:"S,字符型;D,数值型"
}

function Reg_Read(rootkey: cardinal; openkey, RegKey, RegType: string): variant;
var
  reg: Tregistry;
begin
  reg := Tregistry.Create;
  try
    reg.rootkey := rootkey;
    reg.openkey(openkey, true);
    if RegType = 'S' then
      result := reg.ReadString(RegKey)
    else if RegType = 'D' then
      result := reg.ReadFloat(RegKey)
    else
      result := '';
  finally
    reg.Free;
  end;
end;