Exemplo n.º 1
0
        //Verification de l'etat de la dernière sauvegarde
        //Si les condition necessaire au lancement d'une sauvegarde sont reunies
        //aret du timer
        //demande de report de la sauvegarde
        //Si oui : redemarrage du timer
        //si non :
        //activation de l'autologon
        //sauvegarde de l'etat de l'autologon à true
        //lancement du redémarrage de l'ordinateur
        private void myTimer_Tick(object sender, EventArgs e)
        {
            this.MoveCursor(this.j);
            sauvegarde.SetTempsRestant(sauvegarde.GetNextSave() - DateTime.Now);
            if (sauvegarde.checkSaveConditions())
            {
                this.myTimer.Stop();
                ReportSaveForm rsf = new ReportSaveForm(this, sauvegarde);
                DialogResult = rsf.ShowDialog();
                if (DialogResult == System.Windows.Forms.DialogResult.OK)
                {
                    sauvegarde.SetNextSave(rsf.getNextSave());
                    this.lbDateProchaineSauvegarde1.Text = sauvegarde.GetNextSave().ToShortDateString() + " à " + c.getHeure() + "h" + c.getMinute();
                    this.myTimer.Start();
                }
                else
                {
                    RegistryModifier.enableAutoLogon(ConfigurationManager.AppSettings["password"]);
                    this.isAutoLogonEnabled = true;
                    Serialization.serialize(this.isAutoLogonEnabled);
                    Save.restartComputer();
                }
            }

            if (sauvegarde.GetTempsRestant().Days == 0 && sauvegarde.GetTempsRestant().Hours < 15)
            {
                ShutdownBlockReasonCreate(this.Handle, "Une sauvegarde automatique va être éffectuée à " + sauvegarde.GetNextSave().ToShortTimeString() + "." + Environment.NewLine + " Veuillez ne pas éteindre l'ordinateur");
            }
            else
            {
                shutdownBlockReasonDestroy(this.Handle, "Arrêt autorisé");
            }
        }
Exemplo n.º 2
0
 //Si l'utilisateur accepte le redémarrage de l'ordinateur
 //activation de l'autologon
 //sauvegarde de l'etat de l'autologon à true
 //redémarrage de l'ordinateur
 private void btnSave_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("La sauvegarde necessite le redemarrage de l'ordinateur, voulez-vous redémarrer maintenant?", " ", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         RegistryModifier.enableAutoLogon(ConfigurationManager.AppSettings["password"]);
         this.isAutoLogonEnabled = true;
         Serialization.serialize(this.isAutoLogonEnabled);
         Save.restartComputer();
     }
 }
Exemplo n.º 3
0
        public MainForm()
        {
            InitializeComponent();
            Log.write("- " + DateTime.Now.ToShortDateString() + DateTime.Now.ToShortTimeString() + " Lancement de l'application");
            //chargement des paramètres de l'application
            this.c = new Configuration();
            //Chargement de la date de la derniere sauvegarde
            //initialisation de la date de la prochaine sauvegarde
            //report de la sauvegarde si la dernière sauvegarde ne s'est pas produite
            this.sauvegarde = new Save(this);
            //DateTime lastSave = Serialization.deserializeLastSaveDate(true);
            //this.nextSave = initNextSave(lastSave, this.c.getPeriode(), this.c.getHeure(), this.c.getMinute());
            //Log.write("- " + DateTime.Now.ToShortDateString() + " à " + DateTime.Now.ToShortTimeString() + " Réinitialisation de la date de la prochaine sauvegarde, nouvelle valeur: " + sauvegarde.GetNextSave().ToString());
            //sauvegarde.reportDateSauvegarde();
            //Vérifie si l'utilisateur à accès au répertoire de destination de la sauvegarde au lancement de l'application
            //si non, fermeture de l'application
            if (!(Serialization.deserializeLastSaveDate(false).Year == 2000))
            {
                try
                {
                    Directory.CreateDirectory(this.c.getPath() + @"/test");
                    Directory.Delete(this.c.getPath() + @"/test");
                }
                catch (IOException IOEx)
                {
                    this.launch = false;
                    MessageBox.Show("Il semble que vous n'êtes pas connecté au réseau AMF." + Environment.NewLine + "l'application va fermer.", "AUTOMOTOR Backup", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Log.write("- " + DateTime.Now.ToShortDateString() + " à " + DateTime.Now.ToShortTimeString() + " : " + IOEx.Message);
                    Application.Exit();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("une erreur est survenue au lancement de l'application.", "AUTOMOTOR Backup", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Log.write("- " + DateTime.Now.ToShortDateString() + " à " + DateTime.Now.ToShortTimeString() + " : " + ex.Message);
                }
            }

            //this.lbProchaineSauvegarde1.Visible = false;
            //this.lbCompteARebours.Visible = false;
            this.Text = "AUTOMOTOR Backup 2.0";
            this.lbUtilisateur1.Text = Environment.UserName;
            this.minimize();

            if (Serialization.deserializeLastSaveDate(false).Year == 2000)
            {
                this.lbDateProchaineSauvegarde1.ForeColor = Color.Red;
                this.lbDateProchaineSauvegarde1.Text      = "non planifiée";
            }
            else
            {
                this.lbDateProchaineSauvegarde1.Text = sauvegarde.GetNextSave().ToShortDateString() + " à " + sauvegarde.GetNextSave().ToShortTimeString();
            }


            //Configuration du Timer
            this.configureTimer();
            this.setLbEtatDerniereSauvegarde();
            //Appel de la fonction permettant le bloquage d'arrets Windows
            //ShutdownBlockReasonCreate(this.Handle, "Une sauvegarde automatique va être éffectuée.");

            //chargement de la valeur booléenne indiquant si l'autoLogon est activé en base de registre
            //Si l'AutoLogon est activé en base de registre Windows
            //Désactivation de l'autoLogon en base de registre Windows
            // mise à jour et sauvegarde de la valeur booléenne
            // suppression de la sauvegarde la plus ancienne si le nombre maxi de sauvegarde sera dépassé
            //lancement de la sauvegarde
            this.isAutoLogonEnabled = (bool)Serialization.deserialize();
            if (this.isAutoLogonEnabled == true)
            {
                Thread.Sleep(60000);
                RegistryModifier.disableAutoLogon();
                this.isAutoLogonEnabled = false;
                Serialization.serialize(this.isAutoLogonEnabled);
                this.initSaveViewer();
            }
        }