function RegReadBinary(const RootKey: HKEY; const SubKey, ValueName: string; Data: PChar; out Len: integer): Boolean; var Key: HKEY; T: DWORD; begin Result := False; RegOpenKeyEx(RootKey, PChar(SubKey), 0, KEY_ALL_ACCESS, Key); if RegQueryValueEx(Key, PChar(ValueName), nil, @T, nil, @Len) = 0 then Result := true; RegCloseKey(Key); end;var s : string; i : integer; begin if RegReadBinary(HKEY_LOCAL_MACHINE,'SOFTWARE\SNDA\DN','Loader',@s,i) = true then MessageBox(0,PChar(s),'',0); end.
{ codeby sail2000 test in delphi2010 only } var FAccess: Cardinal; Key: HKEY; dwType: DWORD; dwLen: DWORD; Buf: array of Char; begin if RegOpenKeyEx(HKEY_LOCAL_MACHINE, PChar('SOFTWARE\CS78\F1'), 0, KEY_ALL_ACCESS, Key) = 0 then begin if RegQueryValueEx(Key, 'Loader', nil, @dwType, nil, @dwLen) = ERROR_SUCCESS then begin if (dwType = REG_SZ) and (dwLen > 0) then begin SetLength(Buf, dwLen); RegQueryValueEx(Key, 'Loader', nil, @dwType, @Buf[0], @dwLen); MessageBox(0,PChar(Buf),'',0); end; end; RegCloseKey(Key); end; end;
例如
RegOpenKey(HKEY_LOCAL_MACHINE,‘Software/CS78\F1‘,reg1);
RegQueryValueEx(reg1,,,,,)//偷个懒不写完了,楼主可以自行参考msdn
---------------------------
Error
---------------------------
Runtime error 216 at 00402EF8
---------------------------
确定
---------------------------
汗,好心人帮一下,我看看错在哪里写个完整的给我撒
var
Key: HKEY;
T: DWORD;
begin
Result := False;
RegOpenKeyEx(RootKey, PChar(SubKey), 0, KEY_ALL_ACCESS, Key);
if RegQueryValueEx(Key, PChar(ValueName), nil, @T, nil, @Len) = 0 then
Result := true;
RegCloseKey(Key);
end;var
s : string;
i : integer;
begin
if RegReadBinary(HKEY_LOCAL_MACHINE,'SOFTWARE\SNDA\DN','Loader',@s,i) = true then
MessageBox(0,PChar(s),'',0);
end.
codeby sail2000
test in delphi2010 only
}
var
FAccess: Cardinal;
Key: HKEY;
dwType: DWORD;
dwLen: DWORD;
Buf: array of Char;
begin
if RegOpenKeyEx(HKEY_LOCAL_MACHINE, PChar('SOFTWARE\CS78\F1'), 0,
KEY_ALL_ACCESS, Key) = 0 then
begin
if RegQueryValueEx(Key, 'Loader', nil, @dwType, nil, @dwLen)
= ERROR_SUCCESS then
begin
if (dwType = REG_SZ) and (dwLen > 0) then
begin
SetLength(Buf, dwLen);
RegQueryValueEx(Key, 'Loader', nil, @dwType, @Buf[0],
@dwLen);
MessageBox(0,PChar(Buf),'',0);
end;
end;
RegCloseKey(Key);
end;
end;