Hallo CodeX,
ich gehe mal davon aus, daß Du nicht willst, daß Deine Software ohne weiteres von einem Normal-Nutzer (NoNu) Deiner Programme kopiert und an deren Bekannte, Freunde usw. weitergegeben wird ohne Dir einen Obolus zukommen zu lassen.
Nimm einfach die Serien-Nummer der Festplatte:
Delphi-Quellcode:
function GetSerialNumber(Drive: PChar): DWord;
var
FileSysName, VolName: array[0..255] of Char;
SerialNum, MaxCLength, FileSysFlag: DWORD;
begin
GetVolumeInformation(Drive, VolName, 255, @SerialNum, MaxCLength, FileSysFlag, FileSysName, 255);
Result := SerialNum;
end;
verschlüssele diese mit einer Deiner Phantasie überlassenen Codierung und lege das Ergebnis in eine INI-Datei oder sonstwie ab. Beim ersten Start wird die Seriennummer hinterlegt, Du läßt Dir die Datei schicken, ersetzt die Seriennummer durch einen gültigen Code und schickst sie dem Nutzer wieder zu.
Es wurde hier schon zur genüge besprochen, daß es keinen absoluten Schutz gibt, und wenn ein echter Hacker der Meinung ist, er müsse unbedingt Deinen Schutz umgehen, dann kannst Du sowieso nichts dagegen machen.
Der NoNu erhält nach dem Kopieren auf einen anderen Rechner eine Fehlermeldung: "Datenbank beschädigt, wenden Sie sich an den Programmierer Fehler-Code XX-204" und entscheidet sich dann entweder dazu, sich bei Dir zu melden oder irgendeine andere Software zu probieren.
Nach der Neuinstallation von Windows, einem Plattenwechsel usw. muß der Nutzer dann zwar jedesmal Kontakt zu Dir aufnehmen, aber solange Du nicht hunderte Nutzer hast sollte das kein Problem sein.
mfg
eddy