//bloque l'arret d'une session windows protected override void WndProc(ref Message m) { const int WM_QUERYENDSESSION = 0x0011; const int WM_ENDSESSION = 0x0016; if ((m.Msg == WM_QUERYENDSESSION || m.Msg == WM_ENDSESSION) && ((DateTime.Now.Day * DateTime.Now.Month * DateTime.Now.Year) != (sauvegarde.GetNextSave().Day *sauvegarde.GetNextSave().Month *sauvegarde.GetNextSave().Year))) { Application.Exit(); } else if (m.Msg == WM_QUERYENDSESSION || m.Msg == WM_ENDSESSION) { return; } base.WndProc(ref m); }
public ReportSaveForm(MainForm mf, Save s) { InitializeComponent(); //Construction de la liste déroulante this.label2.Text = "Le redémarrage de l'ordinateur est necessaire. Voulez-vous reporter la Sauvegarde ?"; this.comboBox1.Items.Add("redémarrer maintenant"); this.comboBox1.Items.Add("10 minutes"); this.comboBox1.Items.Add("15 minutes"); this.comboBox1.Items.Add("30 minutes"); this.comboBox1.Items.Add("1 heure"); this.comboBox1.Items.Add("2 heures"); this.comboBox1.SelectedIndex = 0; this.m = mf; this.nxts = s.GetNextSave(); this.lbCAR.Text = "30"; this.i = 1; this.timer1.Start(); }
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(); } }