Cita:
Empezado por Neftali
Sólo por curiosidad, ¿La memoria debe tener algo dentro? ¿Algun fichero? ¿Algun código?
¿Cómo detectas la memoria? ¿Debe estar en alguna unidad especial? ¿En cualquier USB?
¿La distribuyes con la aplicación?
Me interesa este tema.
Otra cosa; Ninguna medida es "cutrerío" si tiene su razón de ser y funciona correctamente.
|
No, no debe tener nada. La aplicación detecta (o no) el número de serie de la memoria flash. Por ejemplo, si el número de serie fuera 1000, el código sería:
Código:
function keyproof(): Boolean;
var
contador: Byte;
MaximaLongitud, indicadores:cardinal;
unidad, Etiqueta: string;
NumeroSerie, unidades: LongWord;
begin
Result:=False;
unidades:= GetLogicalDrives;
contador:=0;
while (contador<=31) and (not Result) do
begin
unidad:=Char(Contador+Ord('A')) + ':\';
if (unidades And Trunc(Power(2, Contador))) <> 0 Then
GetVolumeInformation(PChar(unidad), PChar(Etiqueta), MAX_PATH, @NumeroSerie, MaximaLongitud, indicadores, Nil, 0);
if NumeroSerie=1000 then
Result:=True
else
inc(contador);
end;
end;
¿Tú crees que es una buena idea para evitar el pirateo? Un saludo.