Aqui tienes algo sencillito, la primera vez que se ejecuta escribe la fecha en el registro. Las siguientes veces comprueba los dias que han pasaso y si son mas de siete lo dice.
No es un sistema de seguridad infalible, ni mucho menos, cualquiera con unos pocos conocimientos lo pillaria enseguida. Pero es un comienzo, esperemos que a tu cliente no le de por andar buscando en el registro
Código:
uses Registry;
procedure TForm1.FormCreate(Sender: TObject);
var
PrimerDia: TDate;
begin
with TRegistry.Create do
try
RootKey:= HKEY_CURRENT_USER;
if OpenKey('\Software\TuPrograma',True) then
begin
if ValueExists('PrimerDia') then
begin
PrimerDia:= ReadDate('PrimerDia');
if (PrimerDia + 7 < Date) then
begin
ShowMessage('Se acabo el tiempo');
// Aqui haz lo que quieras, como cerrar la aplicacion
end;
end else WriteDate('PrimerDia',Date);
CloseKey;
end;
finally
free;
end;
end;