高手帮忙!如何读取注册表的二进制键值??(100分)

  • 主题发起人 主题发起人 Writer
  • 开始时间 开始时间
W

Writer

Unregistered / Unconfirmed
GUEST, unregistred user!
我知ReadBinaryData可以读取二进制键值,但就不知其用法,请指教
 
先用getdatasize获取该键值的大小(字节数)。
var
buf:array of char;
i:integer;
begin
i:=reg.getdatasize('xxx');
setlength(buf,i);
reg.readbinarydata('xxx',buf,i);
...
end;
 
Var Reg : TRegistry;
list : TStrings;
i : Integer;
begin
Reg:=TRegistry.Create;
Reg.RootKey:='HKEY_LOCAL_MACHINE';
If Reg.OpenKey('/Software/Microsoft/CurrentVersion/Run', false) then
begin
List:=TStringList.Create;
Reg.GetValueNames(List);
For i:=0 to list.Count-1do
If Reg.ValueExists(List) then
begin
Case Reg.GetDataType(List) of
rdInteger: Reg.ReadInteger(List);
rdBinary: Reg.ReadBinaryData(List);
else

Reg.ReadString(List);
end;

end;
end;
end;
这个程序可以获得注册表下的全部值
 
agree with happytaa
 
上面的师兄已经讲的非常正确为什么还不结束给分呢。本来我想进来蹭分呢
 
接受答案了.
 
后退
顶部