View Full Version : Rendere un programma shareware
Ho realizzato un programma in visual basic e vorrei fare in modo che dopo un certo numero di giorni dall'installazione smetta di funzionare .... come posso fare ? c'è qualche software apposito che può realizzare questa cosa ?
Potresti registrare da qualche parte (in un file o nel registry) la data di installazione, in modo che superata la data DATAINST+30 il programma reagisca di conseguenza (blocco oppure funzionalità ridotte oppure messaggi vari).
Il problema è che l'utente potrebbe cercare di fare il furbo e spostare all'indietro la data dell'orologio. Occorre quindi aguzzare l'ingegno, cercando di essere più furbi dell'utente! Potresti, ad ogni apertura del programma, memorizzare da qualche parte la data di sistema. Se, successivamente, all'apertura dell'applicazione, la data di sistema è precedente a quella memorizzata l'ultima volta, vuol dire che l'utente ha spostato la data. Puoi sfruttare anche la data di ultima modifica dei file, magari di un file di sistema di Windows.
Qualche produttore usa una tecnica "psicologica", cioè non mostra nessun avviso e non indica da nessuna parte quanti giorni mancano alla scadenza del periodo di prova. In questo modo l'utente non si preoccupa e continua ad usare il programma allegramente; l'applicazione, di nascosto, memorizza come al solito la data di installazione e l'ultima data di sistema. Raggiunta la scadenza, il programma salva da qualche parte un flag tipo "Scaduto=Si" (magari criptato così da renderlo irriconoscibile) e mostra tutti gli avvisi vari. Da questo momento in poi il programma, trovando quel flag, funzionerà in modalità ridotta o si bloccherà.
In ogni caso ricorda che non c'è una protezione perfetta, se un utente esperto vuole superare la protezione ci riuscirà senz'altro, è solo questione di tempo e di convenienza.
Originally posted by "tas"
Puoi sfruttare anche la data di ultima modifica dei file, magari di un file di sistema di Windows...
Ciao tas,potresti dire su quali file di sistema presenti in tutti i sistemi windows si può compiere questa operazione in modo affidabile?
(Lo dico d'impulso)
Non sarebbe meglio verificare la data di creazione?
Ti ringrazio
Sicuramente la migliore soluzione è quella del salvataggio della data scritta in un file e crittografata!! :p
Volevo dire a Leon che se tu fai un porgramma Sharewere vuol dire che lo vuoi vendere perchè quella è la versione trial per 30 giorni dopo di che o si compra o si butta nel cesso!!
Purtroppo per fare queste cose devi avere la licenza degli strumenti che ai utilizzato non c'è una partita iva, oppure ti fai pagar sul codice fiscale me se vendi un programma nei negozi meglio la partita cosi almeno i soldini arrivano in banca nel tuo C/C!!
Per la licenza dovresti comprare VB6, poi se hai utilizzatto database anche quello va comprato, se hai utilizzato oggetti esterni craccati ti conviene metterti in regola infine se utilizzi dei report (nn inclusi in VB= anche quelli vanno comprati...insomma, per vendere bisogna spendere :( e anche tanto, perchè nn correi dire una caxxata, ma la licenza di VB è solo lei 800/900 €
Se poi fare un programma shareware era solo per uno sfizio personale allora è un occasione per imparare cmq di nuovo :)
Si infatti la questione era uno sfizio personale . Voglio poter far provare il software ma dopo 30 giorni se lo vogliono completo devono richiedermelo . Il tutto senza alcuno scopo di lucro . Poi era anche questione per imparare . Grazie a tutti ancora
Prego, secondo me infatti è giusto fare la prova con la data, ma come si diceva usare come file di appoggio una data di modifica di un file che cambia sempre quando sale windows...cmq è sempre un casino perchè io molte volte le ho fregati cambiando la data :) ed installando il tutto 10 anni + avanti!!
Forse la migliore soluzione rimane un contatore, da 1 a 30, quando il tuo prg si apre nella form_load e trovi che il contatore è maggiore di 30 allora lo mandi subiro un bel Unload me!! :)
Si ma una volta chiusa l'applicazione dove lo salvi il contentuo di questo contatore ?
Originally posted by "leon84"
Si ma una volta chiusa l'applicazione dove lo salvi il contentuo di questo contatore ?
Nel registro di Windows !!! Oppure in file a giro per l'HD...
Fantastico !!! Mah c'è un problemino . Come si scrivono dati nel registro di windows ?
Con le API ;)
RegOpenKey, RegCreateKey, RegSetValue, RegQueryValue...
O se no fai un bel fil ecrittografato che fai prima :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.