如现在在 /SOFTWARE 下. 先定义一个TString对像. TString keys; 定义一TRegistry 对像,这个不用说. TRegistry Reg; 打开注册表...(省) 读入项值入keys中.Reg.GetValueNames(keys) 遍历之 for i := 0 to keys.count-1 do begin reg.ReadString(keys.string[i]) //如:对每一项读 end 这是大概思路
procedure TForm1.Button1Click(Sender: TObject); var hKey1:HKEY; i:integer; retCode,size:Cardinal; Key,Value:array[0..255]of char; begin RegOpenKeyEx(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows\CurrentVersion',0,KEY_READ,hKey1); i:=0; repeat size:=1024; retCode:=RegEnumValue(hKey1,i,Key,size,nil,nil,nil,nil); if retCode=ERROR_SUCCESS then begin i:=i+1; Memo1.Lines.Add(Key); size:=1024; RegQueryValueEx(hKey1,Key,nil,nil,@Value,@size); Memo2.Lines.Add(Value); end; until (retCode<>ERROR_SUCCESS); RegCloseKey(hKey1); end;
先定义一个TString对像. TString keys;
定义一TRegistry 对像,这个不用说. TRegistry Reg;
打开注册表...(省)
读入项值入keys中.Reg.GetValueNames(keys)
遍历之 for i := 0 to keys.count-1 do
begin
reg.ReadString(keys.string[i]) //如:对每一项读
end
这是大概思路
var hKey1:HKEY;
i:integer;
retCode,size:Cardinal;
Key,Value:array[0..255]of char;
begin
RegOpenKeyEx(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows\CurrentVersion',0,KEY_READ,hKey1);
i:=0;
repeat
size:=1024;
retCode:=RegEnumValue(hKey1,i,Key,size,nil,nil,nil,nil);
if retCode=ERROR_SUCCESS then
begin
i:=i+1;
Memo1.Lines.Add(Key);
size:=1024;
RegQueryValueEx(hKey1,Key,nil,nil,@Value,@size);
Memo2.Lines.Add(Value);
end;
until (retCode<>ERROR_SUCCESS);
RegCloseKey(hKey1);
end;
http://www.52sdn.com/artid/46/46440.html
------
var s:string;
ss:TStrings;
begin
s:='abcde';
ss:=TStringList.Create;
ss.Add(s);
end;PAnsiChar转成STRING呢?
-----
直接赋值
谢谢liangqingzhi(老之);eagle1597() ( ),二种方法读注册表都行
给分