示例#1
0
        private void DemoMode()
        {
            txtLicenza.Visible    = true;
            btnInsLicenza.Visible = true;

            if (InfoKey.GetValue("1STRUN") == null)
            {//se non e' mai stato eseguito il programma crea la chiave contenente la data della prima esecuzione
                InfoKey.SetValue("1STRUN", CryptEngine.Encrypt(DateTime.Today.ToShortDateString(), true, 2), RegistryValueKind.String);
                InfoKey.Flush();
            }

            DateTime DataPrimoUtilizzo = DateTime.Parse(CryptEngine.Decrypt(InfoKey.GetValue("1STRUN").ToString(), true, 2));

            //controlla se e' scaduto il periodo di prova
            int VerificaDataDemo = DateTime.Today.Subtract(DataPrimoUtilizzo).Days;

            //MessageBox.Show(VerificaDataDemo.ToString() +" > " + ( NUMERO_GIORNI_DEMO).ToString());
            if (Math.Abs(VerificaDataDemo) > NUMERO_GIORNI_DEMO)
            {
                //MessageBox.Show("Periodo di prova terminato");
                MessageBox.Show("Nessuna licenza");
                //Application.Exit();
                ChiudiApplicazione = true;
                lblModo.Text       = "Inserisci un codice di licenza valido per continuare";
                this.ShowDialog();
            }
            else
            {
                lblModo.Text = "Demo - Installato il giorno: " + DataPrimoUtilizzo.Day.ToString() + "/" + DataPrimoUtilizzo.Month.ToString() + "/" + DataPrimoUtilizzo.Year.ToString() +
                               "\nRestano ancora " + (NUMERO_GIORNI_DEMO + VerificaDataDemo).ToString() + " giorni di prova";
            }
        }
示例#2
0
        bool ChiudiApplicazione = false;//variabile che determina se chiudere solo la form o tutta l'applicazione

        public GestoreLicenza()
        {
            InitializeComponent();

            string OurAppKeyStr = @"SOFTWARE\Metilest2";               //imposta la root del progetto nel registro

            OurAppRootKey = CurrentUserKey.CreateSubKey(OurAppKeyStr); //crea la root, se non esiste gia

            InfoKey = OurAppRootKey.CreateSubKey("Info");
            if (InfoKey.GetValue("LASTRUN") != null)            //controlla se esiste il la chiave contenente la data dell ultimo utilizzo
            {
                DateTime DataUltimoUtilizzo         = DateTime.Parse(CryptEngine.Decrypt(InfoKey.GetValue("LASTRUN").ToString(), true, 2));
                int      VerificaDataUltimoUtilizzo = DataUltimoUtilizzo.CompareTo(DateTime.Today);
                //MessageBox.Show(VerificaDataUltimoUtilizzo.ToString() + " - " + DataUltimoUtilizzo.ToShortDateString() + " - " + DateTime.Today.ToShortDateString());
                if (VerificaDataUltimoUtilizzo > 0)
                {
                    //qualcosa non va, stanno barando sulla data -1=precedente 0=attuale 1=successiva
                    MessageBox.Show("Controlla la data del Computer!");
                    Application.Exit();
                    //ChiudiApplicazione = true;
                    this.ShowDialog();
                }
            }
            InfoKey.SetValue("LASTRUN", CryptEngine.Encrypt(DateTime.Today.ToShortDateString(), true, 2), RegistryValueKind.String);
            InfoKey.Flush();

            LicenceKey = OurAppRootKey.CreateSubKey("Licence");
            if (LicenceKey.GetValue("KEY") == null)
            {//se non e' inserita la licenza va in modalita demo
                this.DemoMode();
            }
            else
            {
                //modalita licenza
                if (checkLicence(LicenceKey.GetValue("KEY").ToString(), false))
                {//controlla se la licenza e' valida e attiva
                    this.LicencedMode();
                }
                else
                {//licenza non valida
                    this.DemoMode();
                }
            }
        }