Servus !
Mal wieder ein Windows Vista / 7 Problem.
Och, so schlimm wird es nicht sein...
Ich habe bisher immer unter XP die Seriennummer Informationen meiner Programme unter HKEY_LOCAL_MACHINE/SOFTWARE/....
Gespeichert.
Da gehört es nicht hin.
Ich würde die ganzen Infos sowieso unter HKEY_CURRENT_USER packen.
Das wäre passend.
Nun scheint das aber nicht mehr zu gehen. Selbst wenn ich als Admin starte werden die Daten nicht gespeichert. Ich bekomme nichtmal eine Fehlermeldung.
Liegt an deinem Sourcecode.
hier mal der Code der das Speichern soll :
Delphi-Quellcode:
Procedure TMainForm.Reg_Sav;
var Reg : TRegistry;
ver : String;
begin
Reg := TRegistry.Create;
with Reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey('Software\DeveloperName\AppName\', True);
WriteString('firma', MainConfig.Firma);
WriteString('S/NR', MainConfig.SENR);
CloseKey;
Free;
end;
end;
Autsch.
Ein Versuch:
Delphi-Quellcode:
Function TMainFormUndSo.RegSaveUserLizense(Firma, Serial: string): boolean;
var
Reg : TRegistry;
ver : String;
begin
Result := False;
Reg := TRegistry.Create;
try
with Reg do
begin
RootKey := HKEY_LOCAL_USER;
OpenKey('Software\DeveloperName\AppName\', True);
WriteString('Firma', Firma);
WriteString('S/NR', Serial);
CloseKey;
Result := True;
end;
finally
Reg.Free;
end;
end;
Noch einer:
Delphi-Quellcode:
Function TMainFormUndSo.RegSaveUserLizense(Firma, Serial: string): boolean;
var
ver : String;
begin
Result := False;
with TRegistry.Create do
try
RootKey := HKEY_LOCAL_USER;
OpenKey('Software\DeveloperName\AppName\', True);
WriteString('Firma', Firma);
WriteString('S/NR', Serial);
CloseKey;
Result := True;
finally
Free;
end;
end;
Noch einer:
Delphi-Quellcode:
Function TMainFormUndSo.RegSaveUserLizense(Firma, Serial:
string): boolean;
var
ver :
String;
begin
Result := False;
with TRegistry.Create
do
try
RootKey := HKEY_CURRENT_USER;
OpenKey('
Software\DeveloperName\AppName\', True);
try
try
WriteString('
Firma', Firma);
WriteString('
S/NR', Serial);
Result := True;
except
on E:
Exception do ShowMessage('
Folgender Fehler trat auf:'#13 + E.
Message);
end;
finally
CloseKey;
end;
finally
Free;
end;
end;
procedure TMainFormUndSo.FormCreate(Sender: TObject);
begin
if not RegSaveUserLizense('
Numpsi', '
CA1002030E8554401AF090EFF')
then {...} ;
end;
( ungetested ! )
PS.: und ja, mir ist langweilig.