您的位置:首页 > 编程语言 > Delphi

Delphi往注册表写入字符串、REG_DWORD、二进制

2010-12-06 12:23 323 查看
procedure TForm1.Button1Click(Sender: TObject);
var
reg, reg1: TRegistry;
info: TRegDataInfo;
buf: PByteArray;
bufSize: Integer;
ValueName: string;
begin
reg := TRegistry.Create;
reg1 := TRegistry.Create;
try
reg.RootKey := HKEY_CLASSES_ROOT;
reg1.RootKey := HKEY_CLASSES_ROOT;
if reg.OpenKey( '/DelphiProject/Shell/Open/command ', True) and
reg1.OpenKey( '/DelphiProject/Shell/Open/dpr ', True) then
begin
ValueName := 'Data1 ';

reg.GetDataInfo(ValueName, info);
case info.RegData of
rdString: // 字符串
begin
reg1.WriteString(ValueName, reg.ReadString(ValueName));
reg.DeleteValue(ValueName);
end;
rdInteger: // DWORD
begin
reg1.WriteInteger(ValueName, reg.ReadInteger(ValueName));
reg.DeleteValue(ValueName);
end;
rdBinary: // 二进制
begin
bufSize := info.DataSize;
if bufSize > 0 then begin
buf := AllocMem(bufSize);
reg.ReadBinaryData(ValueName, buf^, bufSize);
reg1.WriteBinaryData(ValueName, buf^, bufSize);
FreeMem(buf, bufSize);
reg.DeleteValue(ValueName);
end;
end;
end;
reg.CloseKey;
end;
finally
reg.Free;
end;
end;

www.taoyou100.cn 淘友100 满意100,提供给您最信赖的网络购物享受。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: