04. marts 2004 - 13:57
Der er
1 kommentar og
1 løsning
tregistry.savekey
Hejsa,
jeg har følgende kode:
reg := TRegistry.Create;
try
reg.RootKey := HKEY_CURRENT_USER;
if FileExists(Label2.Caption) then DeleteFile(Label2.Caption);
if reg.SaveKey('\SOFTWARE\',label2.Caption) then
begin
MessageDlg('Ok, indstillingerne ligger nu i filen'+#13+#10+Label2.caption+#13+#10+'som du kan bruge til indlæse de samme indstillinger på en '+#13+#10+'anden computer.', mtWarning, [mbOK], 0);
Close;
end else
begin
ShowMessage('huh');
end;
finally
reg.Free;
end;
men jeg ender altid op me en fil på 0 bytes, og huh. Hvad gør jeg galt ? jeg har prøvet med forskellige keys lige meget hjælper det. Jeg kan også fint åbne den key jeg vil eksportere med key_all_access sat, men jeg kan ikke få den gemt i filen.
ha' det godt
hatecaps
05. marts 2004 - 16:39
#1
procedure TfrmMain.Button3Click(Sender: TObject);
begin
if FileExists(Label2.Caption) then
DeleteFile(Label2.Caption);
with TRegistry.Create(KEY_ALL_ACCESS) do
try
RootKey := HKEY_CURRENT_USER;
if SaveKey(Edit2.Text,label2.Caption) then
MessageDlg('Ok, indstillingerne er gemt i filen ' + Label2.caption,
mtWarning, [mbOK], 0);
finally
Free;
end;
end;
Her prøver jeg med det direkte API-kald - virker heller ikke! Mon ikke man så kan udelukke Delphi?
procedure TfrmMain.Button4Click(Sender: TObject);
var
RootKey,phKey : hKey;
szKeyName,szFileName : string;
begin
szKeyName := 'Software';
szFileName := 'c:\Software.reg';
RootKey := HKEY_CURRENT_USER;
if FileExists(szFileName) then
DeleteFile(szFileName);
RegOpenKeyEx(RootKey, pchar(szKeyName), 0, KEY_ALL_ACCESS, phKey);
try
if RegSaveKey(phKey, pchar(szFileName), nil) = 0 then
ShowMessage('BACKUP OK!');
finally
RegCloseKey(phKey);
end; // try
end;
Søger man på nettet så er der mange der har problemer med det - men jeg stødte ikke på løsninger