各位高手,我是个初学者,想请教一下注册表里的REG_DWORD类型和REG_BINARY的数据如何用WriteBinaryData()写。
解决方案 »
- indy TCPClient TCPServer 急在线等!分可以另加!
- 奇怪的问题
- advStringGrid如何禁止多行选中,只让它可以选择一行?
- 谁有活,我可以帮忙干,我想练练手,我有2年的经验(用delphi+sqlserver)
- 超级终端发短信的问题nokia8250
- Delphi中如何处理自定义消息?100分奉送!!
- 请问那位有DELPHI6的注册码
- 问一下大家在工作中用delphi的什么帮助?????????? 是delphi的自带帮助嘛?
- 急!!关于多线程同步的问题!!!
- 如何在程序运行的时候知道自己机器的ip地址?谢谢
- 写一个类名,在输入了 . 之后出现的提示信息.
- 如何在用Delphi开发的软件中使Win98支持Access2000?
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;