//Lorsque la sauvegarde est terminée private void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { backgroundWorker.Dispose(); backgroundWorker.CancelAsync(); mainform.setLbEtatDerniereSauvegarde(); DateTime lastSave = Serialization.deserializeLastSaveDate(false); Configuration c = new Configuration(); //reinitialisation de la date de la prochaine sauvegarde DateTime d = s.initNextSave(); Log.write("- " + DateTime.Now.ToShortDateString() + " à " + DateTime.Now.ToShortTimeString() + " Réinitialisation de la date de la prochaine sauvegarde, nouvelle valeur: " + d.ToString()); this.mainform.setLbDateProchaineSauvegarde(d); //suppression des anciennes sauvegardes if (c.getNbSaves() != 0) { s.checkSaveNumber(); } //Création et envoi du mail de fin de sauvegarde Mailer m = new Mailer(this.s); m.sendNotificationSauvegarde(); s.setNbFichiersCopies(0); if (c.getAutoShutDown() == '1') { //Arret de l'ordinateur System.Diagnostics.ProcessStartInfo restart = new System.Diagnostics.ProcessStartInfo("shutdown.exe", "-s -t 60"); System.Diagnostics.Process.Start(restart); } else { MessageBox.Show("Sauvegarde terminée."); Log.write("- " + DateTime.Now.ToShortDateString() + " à " + DateTime.Now.ToShortTimeString() + " Sauvegarde terminée"); Application.Restart(); } Close(); }