sys_trial(STRING* section, STRING* name, var days)
Liefert die Anzahl der noch verbleibenden Tage einer Demoversion der Anwendung
zurück. Diese Anweisung lässt sich zum Erstellen von Demo-Anwendungen,
die nach einiger Zeit ungültig werden, verwenden und kann vom Anwender
mithilfe eines Schlüssels oder Passwortes entsperrt werden.
Parameters
section |
Name der Registry-Sektion zum Speichern der Testinformation (z.B. "Software\\myGame"), STRING* oder char*. |
name |
Name des Registry-Schlüssels zum Speichern der Testinformation, STRING* oder char*. |
days |
Anzahl der Tage für die Testperiode. |
Rückgabewert:
Verbleibende Test-Tage oder < 0,
wenn die Testperiode vorüber ist oder ein Versuch, die Registrierung zu
hacken, unternommen wurde.
Geschwindigkeit:
Langsam
Bemerkungen:
- Diese Funktion speichert das Datum ihrer ersten Ausführung im Register.
Weitere Aufrufe an diese Funktion berechnen lediglich die Anzahl
der Tage seit der ersten Ausführung.
- Ein Editieren der Registry mit dem Ziel, die Testperiode
zu verlängern, wird entdeckt und führt zur Ungültigkeit
der Testperiode. Die einzige Methode, eine Testperiode zu verlängern
ist das Ändern
des Systemdatums während des gültigen Test-Modus. Ist die
Testperiode einmal ungültig, kann sie nicht erneuert werden.
- Eine der verwendeten Methoden, Registry-Hacken zu erkennen,
ist das Speichern zusätzlicher Informationen in gespeicherten
Games. Damit dies funktioniert, wird empfohlen, vor dem Aufrufen
von sys_trial eine game_load-Funktion
durchzuführen,
z.B. zum Laden von User-Einstellungen.
- Internet-Download-Anbieter wie Share-It können Keys oder Passworte, die im Skript gelesen werden können, generieren. Das Skript kann dann ermitteln ob der Schlüssel oder das Passwort korrekt ist und in diesem Falle sys_trial überspringen. Derart kann eine Testversion zu einer Vollversion freigeschaltet werden.
Edition:
P LC
Beispiel:
function main()
{
...
wait(1);
game_load("ini",0); // load user settings
if (!game_is_unlocked()) // call provider algorithm for checking the key or password
if (0 > sys_trial("Software\\myCompany\\myApp","install",30)) // 30 days trial period expired?
sys_exit("Sorry - trial version expired!");
...
// run game
game_save("ini",0,SV_INFO);
sys_exit(NULL);
}
Siehe auch:
sys_exit, sys_getstr, sys_setstr
► Aktuelle Version Online