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,提供给您最信赖的网络购物享受。
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,提供给您最信赖的网络购物享受。
相关文章推荐
- 注册表处理之(写入DWORD类型或者字符串类型的键项值)
- VC注册表写入和读取字符串
- 读取注册表REG_DWORD类型的键值
- Delphi将字符串写入text文档
- 写注册表REG_BINARY,REG_DWORD,REG_SZ值,一个函数
- 关于NSIS 写入注册表的问题, REG_MULTI_SZ 类型
- c#写入注册表,读取注册表。使用二进制数据
- C#操作注册表REG_DWORD类型键异常(RegistryValueKind.DWord异常)解决方案
- 关于 NSIS 写入注册表的问题, REG_MULTI_SZ 类型
- Delphi 写入注册表的方法
- C#操作注册表REG_DWORD类型键异常(RegistryValueKind.DWord异常)解决方案
- windows--reg--向注册表中写入一些数据
- 注册表写入REG_MULTI_SZ类型
- C#读写注册表 二进制写入
- c# 将十六进制字符串写入注册表
- 注册表写入二进制数据
- PDF转换成二进制字符串写入 HTTP 输出流
- 把数据库连接字符串写入注册表
- 把数据库连接字符串写入注册表
- 沙盒路径、拼接路径、将字符串,二进制Data、照片写入到文件中或读取