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

W

Writer

Unregistered / Unconfirmed
GUEST, unregistred user!
我知ReadBinaryData可以读取二进制键值,但就不知其用法,请指教
 
H

hhzh426

Unregistered / Unconfirmed
GUEST, unregistred user!
先用getdatasize获取该键值的大小(字节数)。
var
buf:array of char;
i:integer;
begin
i:=reg.getdatasize('xxx');
setlength(buf,i);
reg.readbinarydata('xxx',buf,i);
...
end;
 
H

happytaa

Unregistered / Unconfirmed
GUEST, unregistred user!
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;
这个程序可以获得注册表下的全部值
 
I

income

Unregistered / Unconfirmed
GUEST, unregistred user!
agree with happytaa
 
D

devuser

Unregistered / Unconfirmed
GUEST, unregistred user!
上面的师兄已经讲的非常正确为什么还不结束给分呢。本来我想进来蹭分呢
 
W

Writer

Unregistered / Unconfirmed
GUEST, unregistred user!
接受答案了.
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
925
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部