Form codice licenza



  • Form codice licenza
    di fabios15 data: 07/07/2014 19:19:43

    Ciao a tutti ragazzi, ho finito un piccolo programmino ma ora, prima di consegnarlo, vorrei metterci una sorta di codice di attivazione. Inizialmente ho pensato a un semplice "if", però se il programma viene inviato a una terza persona insieme al codice, sarebbe tutto inutile. In sostanza vorrei sapere se c'è un modo per poter usare più seriali che magari genero io.
    Quando la persona n.1 inserisce il seriale corretto, se la persona n.2 su un altro computer usa lo stesso codice esce un messaggio del tipo "Codice già usato" e per poterlo usare ha bisogno di un altro codice che solo io posso avere.. E' possibile fare qualcosa del genere?

    Grazie mille



  • di mabolsie (utente non iscritto) data: 07/07/2014 19:50:29

    Ciao Fabios , in Excel quando crei un codice protetto, nel codice stesso devi mettere un if con la password da confrontare al momento in cui l'operatore digita la sua password in una inputbox o textbox. se cambi la password devi dare in primo luogo il programma revisionato dove nell' if hai creato una nuova psw poi dare all'operatore la nuova psw in modo che inserendola parta il tutto.
    Quello che vuoi fare tu è presente in applicazioni vere e proprie con codici in linguaggi molto più completi, vb, java, ecc..
    Ciao Max



  • di fabios15 data: 07/07/2014 20:47:07

    Ok grazie Max, quindi non c'è un modo per evitare che il programma venga inviato ad altre persone e spacciato per loro?



  • di lepat (utente non iscritto) data: 07/07/2014 20:52:38

    all'apertura del file leggi la password da un file di testo situato in rete che tu solo pouoi modificare.



  • di fabios15 (utente non iscritto) data: 07/07/2014 22:51:28

    lepat volevo proprio fare una cosa del genere, se mi dici giusto il comando base poi cerco io come fare



  • di lepat (utente non iscritto) data: 08/07/2014 07:36:52

    prova così
     
    Private Sub Workbook_Open()
    pp = InputBox("Password")
    folderPath = "E:prova"
    Filename = "pass.txt"
    st = CreateObject("scripting.filesystemobject").opentextfile(folderPath & Filename).readall
    If pp <> st Then Application.Quit
    End Sub



  • di fabios15 data: 08/07/2014 12:01:28

    Grazie lepat, soluzione interessante. Cercherò di aggiungergli qualcosa per renderla un po' più efficiente. Accetto volentieri altri consigli nel frattempo :)



  • di scossa (utente non iscritto) data: 09/07/2014 22:19:43

    cit: "Accetto volentieri altri consigli nel frattempo "

    Ad esempio potresti utilizzare la funzione Environ e utilizzare alcune stringhe significative per identificare il pc, oppure leggere il SerialNumber dell'HD.
    Ovviamente alla prima apertura del file memorizzerai la stringa "chiave" in un name che renderai invisibile e alle successive aperture controllerai che il SerialNumber (o le stringhe di Environ che avrai scelto) corrisponda con il valore memorizzato nel name.

    Ovviamente tutte "menate" inutili se l'utente è in grado di accedere al codice VBA.

    scossa's web site
    Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno.
    Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)