Code:
function GetWindowsID: string;
var
Registry: TRegistry;
begin
Registry := TRegistry.Create(KEY_WRITE);
try
Registry.Lazywrite := false;
Registry.RootKey := HKEY_LOCAL_MACHINE;
Registry.OpenKeyReadOnly('\Software\Microsoft\Windows\CurrentVersion');
Result := Registry.ReadString('ProductID');
Registry.CloseKey;
finally
Registry.Free;
end;
end;
Auf diese Weise lese Ich die ProductID aus, codiere sie anschliessend und schicke sie an meine Datenbank um einen Activation Key zu generieren (jepp, jenes Thema, das "alle 3 Wochen wieder auftaucht"
aber darum geht es hier nur bedingt).
Ich ueberlege gerade, lautet der Registry Eintrag fuer
WinNT nicht
Code:
'\Software\Microsoft\Windows NT\CurrentVersion\ProductID'
waere es insofern nicht denkbar, dass dies auch auf Vista Systemen abweichend ist?
Ueber kurz oder lang muss man sich als Programmierer wohl doch ein halbes Dutzend Betriebssysteme zum Testen aufstellen...