Ejemplo n.º 1
0
 /// <summary>
 /// Lorsque l'utilisateur appuie sur le bouton, la méthode parcourt tous les contrôles de la GroupBox
 /// si le contrôle en cours est une Checkbox et qu'elle n'est pas cochée alors on la coche
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btn_Cocher_Click(object sender, EventArgs e)
 {
     if (!Gestion_Verification.IsAdministrator())
     {
         //Si l'utilisateur n'est pas administrateur, alors on ne coche que les trois Checkboxs suivantes
         cB_CCleaner.Checked       = true;
         cB_CleanIE.Checked        = true;
         cB_Telechargement.Checked = true;
     }
     else
     {
         //Sinon on les parcours toutes
         foreach (Control c in gB_Options.Controls)
         {
             //Pour chaque contrôles sur la form Options
             if (c is CheckBox)
             {
                 //Si le contrôle en cours est un checkBox
                 CheckBox chk = (CheckBox)c;
                 if (!chk.Checked)
                 {
                     //Si la checkBox est n'est pas cochée, alors on la coche
                     chk.Checked = true;
                 }
             }
         }
     }
     if (Gestion_Verification.GetOSVer() == "XP")
     {
         //Si l'OS est XP alors on décoche la checkBox Superfetch
         cB_Superfetch.Checked = false;
     }
 }
 /// <summary>
 /// Méthode d'initialisation de la form Depannage
 /// </summary>
 public Depannage()
 {
     InitializeComponent();
     if (!Gestion_Verification.IsAdministrator())
     {
         cB_veille.Enabled = false;
     }
     if (Gestion_Verification.getOSVer() == "XP")
     {
         Gestion_Verification.RechercheCCleaner();
         EspaceAv          = Gestion_Verification.EspaceLibre();
         cB_veille.Visible = false;
         bgw.WorkerSupportsCancellation = true;
         bgw.WorkerReportsProgress      = true;
         lb_PourcentProg.Visible        = false;
         lb_Progression.Visible         = false;
         pb_Traitement.Visible          = false;
         Gestion_Verification.VerifArchiOS();
     }
     else
     {
         Gestion_Verification.RechercheCCleaner();
         EspaceAv = Gestion_Verification.EspaceLibre();
         Hibernation();
         bgw.WorkerSupportsCancellation = true;
         bgw.WorkerReportsProgress      = true;
         lb_PourcentProg.Visible        = false;
         lb_Progression.Visible         = false;
         pb_Traitement.Visible          = false;
         Gestion_Verification.VerifArchiOS();
     }
 }
Ejemplo n.º 3
0
 private void cleanerXpressToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (Gestion_Verification.GetOSVer() == "95" || Gestion_Verification.GetOSVer() == "98" || Gestion_Verification.GetOSVer() == "Me" || Gestion_Verification.GetOSVer() == "2000")
     {
         //Si l'OS de l'utilisateur est anterieur à Windows Vista, la form dépannage ne sera pas créée
         MessageBox.Show("Ce programme necessite une version plus récente de Windows", "CleanerXpress - Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     else
     {
         CleanerXpress CX = new CleanerXpress();
         CX.Show();
         if (Gestion_Verification.GetOSVer() != "XP")
         {
             //On vérifie les droits de l'utilisateur et on affiche ensuite sur la form dépannage
             if (Gestion_Verification.IsAdministrator())
             {
                 CX.lb_Type.Text      = "Complet (administrateur)";
                 CX.lb_Type.ForeColor = Color.Green;
             }
             else
             {
                 CX.lb_Type.Text      = "Restreint (invité)";
                 CX.lb_Type.ForeColor = Color.Red;
             }
         }
         else
         {
             if (Gestion_Verification.GetOSVer() == "XP")
             {
                 CX.lb_Privileges.Visible = false;
                 CX.lb_Type.Visible       = false;
             }
         }
     }
 }
Ejemplo n.º 4
0
 public Form1()
 {
     InitializeComponent();
     this.WindowState   = FormWindowState.Minimized;
     this.ShowInTaskbar = false;
     //Menu_SBii.Renderer = new MyRenderer();
     if (!Gestion_Verification.IsAdministrator())
     {
         MessageBox.Show("Il est recommandé de lancer cette application en mode administrateur", "SBiiXpress - Privilèges administrateur recommandés", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
 /// <summary>
 /// Méthode qui permet de réaliser une sauvegarde de la base de registre
 /// </summary>
 public void saveRegistre()
 {
     if (Gestion_Verification.IsAdministrator()) //Vérification des droits
     {
         Gestion_Verification.SuppOldSaveReg();  //On vérifie le nombre de sauvegardes présente dans le dossier, si plus d'une sauvegarde est présente, on supprime la plus ancienne
         try
         {
             DirectoryInfo di = Directory.CreateDirectory("C:\\SBiiXpress\\Save\\Registry");
             Exec("regedit.exe", " /E C:\\SBiiXpress\\Save\\Registry\\Save_" + DateTime.Now.ToString("dd_MM_yyyy") + ".reg"); //Création du fichier de sauvegarde avec la date actuelle
             bgw.ReportProgress(10);
         }
         catch (Exception err)
         {
             MessageBox.Show("Impossible de sauvegarder le registre" + Environment.NewLine + err.Message, "SBiiXpress - Erreur lors de la sauvegarde du registre", MessageBoxButtons.OK, MessageBoxIcon.Error);
             bgw.ReportProgress(10);
         }
     }
 }
 /// <summary>
 /// Méthode qui gère le lancement du traitement
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btn_NettoyageDisque_Click(object sender, EventArgs e)
 {
     if (!Options.IE && Options.CCleaner && !IsCCleanerPresent)
     {
         MessageBox.Show("Impossible de démarrer le traitement, CCleaner est introuvable", "SBiiXpress - Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     else
     {
         if (!Options.CCleaner && !Options.Cleanmgr && !Options.DechargDll && !Options.IE && !Options.Reg && !Options.WinUp)
         {
             //Si aucune des options n'est sélectionné, on affiche un message d'erreur
             MessageBox.Show("Au moins une option doit être cochée pour démarrer le traitement", "SBiiXpress - Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
         else
         {
             EspaceAv = Gestion_Verification.EspaceLibre(); //Calcul de l'espace disque disponible avant traitement
             if (Gestion_Verification.IsAdministrator() == true)
             {                                              //On teste si l'utilisateur actuel possède les droits d'administrateur, si c'est le cas on continue
                 DialogResult result = MessageBox.Show("Êtes-vous sûr de vouloir continuer ?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                 if (result == DialogResult.Yes)
                 {   //Si l'utilisateur valide, on affiche les données de progression sur l'écran de l'application Dépannage
                     this.lb_PourcentProg.Text     = "0%";
                     this.lb_Progression.Visible   = true;
                     this.lb_PourcentProg.Visible  = true;
                     this.pb_Traitement.Visible    = true;
                     this.btn_Optimisation.Enabled = false;
                     bgw.RunWorkerAsync(); //On lance le BackGroundWorker, qui lancera le traitement et qui permettra d'obtenir des informations sur la progression et éviter que l'application principale ne freeze lors du lancement des process
                 }
             }
             else
             {   //Si l'utilisateur ne possède pas les droits d'administrateur, on lance simplement le BackGroundWorker et on désactive le bouton des options
                 bgw.RunWorkerAsync();
             }
         }
     }
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Méthode d'initialisation de la form, les cases sont cochées en fonction des derniers choix de l'utilisateur
        /// Par défaut, elles sont toutes cochées
        /// </summary>
        public Options()
        {
            InitializeComponent();
            if (Gestion_Verification.IsAdministrator())
            {
                AfficheOptionsAdmin();
                if (Gestion_Verification.GetOSVer() != "XP")
                {
                    //Si l'OS n'est pas XP, on vérifie l'état du service Superfetch
                    if (Gestion_Verification.CheckService("superfetch") == "Stoppé")
                    {
                        //Si Superfetch est stoppé, on l'affiche en vert au bas de la form
                        lb_Superfetch.Text      = "Superfetch est arrêté";
                        lb_Superfetch.ForeColor = Color.Green;
                        Superfetch = false; //Et on mets la variable Superfetch à false, afin que la Checkbox pour Superfetch ne se recoche pas toute seule au prochain affichage de la form Options
                    }
                    else
                    if (Gestion_Verification.CheckService("superfetch") == "Lancé")
                    {
                        //Sinon on affiche en rouge en bas de la form que Superfetch est lancé
                        lb_Superfetch.Text      = "Superfetch est en cours";
                        lb_Superfetch.ForeColor = Color.Red;
                        Superfetch = true; //Et Superfetch passe à true
                    }
                }
                else
                if (Gestion_Verification.GetOSVer() == "XP")
                {
                    //Si l'OS est XP alors on désactive tout ce qui concerne Superfetch sur la form Options
                    cB_Superfetch.Visible = false;
                    cB_Superfetch.Checked = false;
                    lb_Superfetch.Visible = false;
                }

                //Les lignes suivantes permettent de récupérer l'état de chaque CheckBox au moment de la fermeture de la form
                if (Reg)
                {
                    cB_SaveReg.Checked = true;
                }
                else
                {
                    cB_SaveReg.Checked = false;
                }
                if (Cleanmgr)
                {
                    cB_Cleanmgr.Checked = true;
                }
                else
                {
                    cB_Cleanmgr.Checked = false;
                }
                if (CCleaner)
                {
                    cB_CCleaner.Checked = true;
                }
                else
                {
                    cB_CCleaner.Checked = false;
                }
                if (IE)
                {
                    cB_CleanIE.Checked = true;
                }
                else
                {
                    cB_CleanIE.Checked = false;
                }
                if (WinUp)
                {
                    cB_WinUp.Checked = true;
                }
                else
                {
                    cB_WinUp.Checked = false;
                }
                if (DechargDll)
                {
                    cB_DLL.Checked = true;
                }
                else
                {
                    cB_DLL.Checked = false;
                }
                if (Superfetch)
                {
                    cB_Superfetch.Checked = true;
                }
                else
                {
                    cB_Superfetch.Checked = false;
                }
                if (Telechargement)
                {
                    cB_Telechargement.Checked = true;
                }
                else
                {
                    cB_Telechargement.Checked = false;
                }
            }
        }
        /// <summary>
        /// Méthode qui gère la fin du traitement
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        /*private void bgw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
         * {
         *  if (e.Error != null)
         *  {
         *      this.lb_Progression.Text = ("Erreur"); //Si l'application rencontre une erreur, on affiche "Erreur" dans le statut de progression de la Form dépannage
         *      MessageBox.Show("L'application à rencontré une erreur : " + e.Error.Message, "SBiiXpress - Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); //Affichage d'un message d'erreur avec détails
         *  }
         *  else
         *  {
         *      if (!IsCCleanerPresent && Gestion_Verification.IsAdministrator()) //Vérification des droits et de la présence de CCleaner
         *      {
         *          if (Options.Reg && Options.DechargDll && !Options.Cleanmgr && !Options.IE && !Options.WinUp)
         *          {
         *              EspaceAp = espaceAv;
         *              MessageBox.Show("Le registre à bien été sauvegardé et les DLL inutiles seront desormais déchargés automatiquement", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
         *          }
         *          else
         *          if (Options.Reg && !Options.IE && !Options.Cleanmgr && !Options.WinUp && !Options.DechargDll)
         *          {
         *              EspaceAp = espaceAv;
         *              MessageBox.Show("La sauvegarde du registre a bien été effectuée", "SBiiXpress - Sauvegarde terminée", MessageBoxButtons.OK, MessageBoxIcon.Information);
         *          }
         *          else
         *              if (Options.DechargDll && !Options.Reg && !Options.IE && !Options.Cleanmgr && !Options.WinUp)
         *              {
         *                  EspaceAp = espaceAv;
         *                  MessageBox.Show("Les DLL inutiles seront désormais automatiquement déchargés", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
         *              }
         *              else
         *              {
         *                  if (!Options.Cleanmgr)
         *                  {
         *                      if (Gestion_Verification.ProcessEnCours("rundll32.exe") == 1)
         *                      {
         *                          EspaceAp = Gestion_Verification.EspaceLibre();
         *                          MessageBox.Show("Le nettoyage est maintenant terminé, cependant vous obtiendrez de meilleurs résultats en installant CCleaner\n " + Gestion_Verification.CalculEspaceLibere() + " Mo ont étés libérés", "SBiiXpress - Nettoyage terminé", MessageBoxButtons.OK, MessageBoxIcon.Information);
         *                      }
         *                  }
         *                  else
         *                  {
         *                      if (Gestion_Verification.ProcessEnCours("cleanmgr.exe") == 1)
         *                      {
         *                          EspaceAp = Gestion_Verification.EspaceLibre();
         *                          MessageBox.Show("Le nettoyage est maintenant terminé, cependant vous obtiendrez de meilleurs résultats en installant CCleaner\n" + Gestion_Verification.CalculEspaceLibere() + " Mo ont étés libérés", "SBiiXpress - Nettoyage terminé", MessageBoxButtons.OK, MessageBoxIcon.Information);
         *                          Gestion_Verification.SupprimerValeurRegistre(@"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\VolumeCaches\\", "StateFlags0666", rV);
         *                      }
         *                  }
         *              }
         *          this.lb_PourcentProg.Visible = false;
         *          this.lb_Progression.Visible = false;
         *          this.pb_Traitement.Visible = false;
         *          this.btn_Optimisation.Enabled = true;
         *          this.gb_Operation.Enabled = true;
         *          this.gB_OptionsInfos.Enabled = true;
         *          Gestion_Verification.ecriture_Log();
         *      }
         *      else
         *      {
         *          if (!IsCCleanerPresent && !Gestion_Verification.IsAdministrator())
         *          {
         *              //Si CCleaner n'est pas installé, on affiche le message suivant
         *              EspaceAp = Gestion_Verification.EspaceLibre();
         *              MessageBox.Show("Le nettoyage est terminé cependant vous pourriez obtenir de meilleurs résultats en installant CCleaner\n" + Gestion_Verification.CalculEspaceLibere() + " Mo ont étés libérés", "SBiiXpress - Nettoyage terminé", MessageBoxButtons.OK, MessageBoxIcon.Information);
         *          }
         *          else
         *          {
         *
         *              if (!Gestion_Verification.IsAdministrator() && Gestion_Verification.ProcessEnCours("CCleaner64") == 1 || !Gestion_Verification.IsAdministrator() && Gestion_Verification.ProcessEnCours("CCleaner") == 1) //On vérifie que CCleaner ait fini pour afficher le message final
         *              {
         *                  //Si l'utilisateur n'est pas Admin et que CCleaner à terminé, on affiche le message suivant
         *                  EspaceAp = Gestion_Verification.EspaceLibre();
         *                  MessageBox.Show("Le nettoyage est maintenant terminé, cependant, vous obtiendrez de meilleurs résultats en mode administrateur\n" + Gestion_Verification.CalculEspaceLibere() + " Mo ont étés libérés", "SBiiXpress - Nettoyage terminé", MessageBoxButtons.OK, MessageBoxIcon.Information);
         *                  btn_Journal.Enabled = true;
         *                  btn_Options.Enabled = true;
         *              }
         *              else if (Gestion_Verification.IsAdministrator() && Gestion_Verification.ProcessEnCours("CCleaner") == 1 ||Gestion_Verification.IsAdministrator() && Gestion_Verification.ProcessEnCours("CCleaner64") == 1 && Gestion_Verification.ProcessEnCours("cleanmgr.exe") == 1 && Gestion_Verification.ProcessEnCours("rundll.exe") == 1)
         *              {
         *                  if (Options.Cleanmgr && Options.DechargDll && !Options.Cleanmgr && !Options.IE && !Options.Reg && !Options.WinUp)
         *                  {
         *                      EspaceAp = espaceAv;
         *                      MessageBox.Show("Le registre à bien été sauvegardé et les DLL inutiles seront desormais déchargés automatiquement", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
         *                  }
         *                  else
         *                  if (Options.Reg && !Options.CCleaner && !Options.DechargDll && !Options.IE && !Options.Cleanmgr && !Options.WinUp)
         *                  {
         *                      //Si seule la sauvegarde du registre à été cochée et qu'elle s'est bien terminée alors on affiche le message suivant
         *                      EspaceAp = espaceAv;
         *                      MessageBox.Show("La sauvegarde du registre à bien été éffectuée", "SBiiXpress - Sauvegarde terminée", MessageBoxButtons.OK, MessageBoxIcon.Information);
         *                  }
         *                  else
         *                  {
         *                      if (Options.Cleanmgr || Options.DechargDll)
         *                      {
         *                          //Si le nettoyage de Windows et le déchargement des DLL a été cochée alors on réalise le traitement suivant
         *                          if (Options.DechargDll && !Options.Cleanmgr)
         *                          {
         *                              //Si seule le déchargement des DLL a été cochée, on affiche le message suivant
         *                              EspaceAp = espaceAv;
         *                              MessageBox.Show("Les DLL inutiles seront desormais automatiquement déchargées", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
         *                          }
         *                          else
         *                          {
         *                              //Si le nettoyage de Windows a été sélectionné et que tout s'est bien passé, alors on affiche le message suivant
         *                              EspaceAp = Gestion_Verification.EspaceLibre();
         *                              MessageBox.Show("Le nettoyage est maintenant terminé.\n" + Gestion_Verification.CalculEspaceLibere() + " Mo ont étés libérés", "SBiiXpress - Nettoyage terminé", MessageBoxButtons.OK, MessageBoxIcon.Information);
         *                              Gestion_Verification.SupprimerValeurRegistre(@"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\VolumeCaches\\", "StateFlags0666", rV);
         *                              //On supprime les flags qui ont étés ajoutés au registre pour le nettoyage de Windows
         *                          }
         *                      }
         *                      else
         *                      {
         *                          //Si le nettoyage de Windows n'a pas été sélectionné et que tout s'est bien passé, alors on affiche le message suivant
         *                          EspaceAp = Gestion_Verification.EspaceLibre();
         *                          MessageBox.Show("Le nettoyage est maintenant terminé.\n" + Gestion_Verification.CalculEspaceLibere() + " Mo ont étés libérés", "SBiiXpress - Nettoyage terminé", MessageBoxButtons.OK, MessageBoxIcon.Information);
         *                          //Ici on ne supprime pas les flags du registre, car pas de nettoyage Windows. Cette option permet d'éviter des messsages d'erreur à la fin de l'exécution du programme
         *                      }
         *                  }
         *              }
         *          }
         *          this.lb_PourcentProg.Visible = false;
         *          this.lb_Progression.Visible = false;
         *          this.pb_Traitement.Visible = false;
         *          this.btn_Optimisation.Enabled = true;
         *          this.gb_Operation.Enabled = true;
         *          this.gB_OptionsInfos.Enabled = true;
         *          Gestion_Verification.ecriture_Log();
         *      }
         *  }
         * }*/

        private void bgw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                this.lb_Progression.Text = ("Erreur");                                                                                                           //Si l'application rencontre une erreur, on affiche "Erreur" dans le statut de progression de la Form dépannage
                MessageBox.Show("L'application à rencontré une erreur : " + e.Error.Message, "SBiiXpress - Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); //Affichage d'un message d'erreur avec détails
            }
            else
            {
                if (Gestion_Verification.IsAdministrator()) //Utilisateur est admin
                {
                    if (isCCleanerPresent)
                    {
                        if (Options.Reg && Options.IE && Options.Cleanmgr && Options.WinUp && Options.DechargDll && Options.CCleaner)
                        {
                            if (Gestion_Verification.ProcessEnCours("CCleaner") == 1 && Gestion_Verification.ProcessEnCours("CCleaner64") == 1 && Gestion_Verification.ProcessEnCours("rundll32") == 1 && Gestion_Verification.ProcessEnCours("cleanmgr") == 1)
                            {
                                EspaceAp = Gestion_Verification.EspaceLibre();
                                MessageBox.Show("Le nettoyage est maintenant terminé", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                Gestion_Verification.SupprimerValeurRegistre(@"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\VolumeCaches\\", "StateFlags0666", rV);
                            }
                        }
                        else
                        {
                            if (Options.Reg && Options.DechargDll && !Options.IE && !Options.Cleanmgr && !Options.WinUp && !Options.CCleaner)
                            {
                                EspaceAp = espaceAv;
                                MessageBox.Show("Le registre a bien été sauvegardé et les DLL inutiles seront automatiquement déchargés", "SBiiXpress - Informations", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                            else
                            {
                                if (Options.DechargDll && !Options.Reg && !Options.IE && !Options.Cleanmgr && !Options.WinUp && !Options.CCleaner)
                                {
                                    EspaceAp = espaceAv;
                                    MessageBox.Show("Les DLL inutiles seront desormais déchargés automatiquement", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                                else
                                {
                                    if (Gestion_Verification.ProcessEnCours("cleanmgr") == 1 && Gestion_Verification.ProcessEnCours("CCleaner") == 1 && Gestion_Verification.ProcessEnCours("CCleaner64") == 1 && Gestion_Verification.ProcessEnCours("rundll32") == 1)
                                    {
                                        EspaceAp = Gestion_Verification.EspaceLibre();
                                        MessageBox.Show("Le nettoyage est maintenant terminé\n" + Gestion_Verification.CalculEspaceLibere() + " Mo ont étés libérés", "SBiiXpress - Informations", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    }
                                    else
                                    {
                                        EspaceAp = Gestion_Verification.EspaceLibre();
                                        MessageBox.Show("Le nettoyage est maintenant terminé\n" + Gestion_Verification.CalculEspaceLibere() + " Mo ont étés libérés", "SBiiXpress - Informations", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    }
                                }
                            }
                        }
                    }

                    else //CCleaner n'est pas présent
                    {
                        if (Options.Reg && Options.IE && Options.WinUp && Options.DechargDll)
                        {
                            if (Gestion_Verification.ProcessEnCours("rundll32") == 1 && Gestion_Verification.ProcessEnCours("cleanmgr") == 1)
                            {
                                EspaceAp = Gestion_Verification.EspaceLibre();
                                MessageBox.Show("Le nettoyage est maintenant terminé, cependant vous obtiendrez de meilleurs résultats en installant CCleaner", "SBiiXpress - Informations", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                Gestion_Verification.SupprimerValeurRegistre(@"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\VolumeCaches\\", "StateFlags0666", rV);
                            }
                        }
                        else
                        {
                            if (Options.Reg && Options.DechargDll && !Options.CCleaner && !Options.Cleanmgr && !Options.IE && !Options.WinUp)
                            {
                                EspaceAp = espaceAv;
                                MessageBox.Show("Le registre a bien été sauvegardé et les DLL inutiles seront automatiquement déchargés", "SBiiXpress - Informations", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                            else
                            {
                                if (Options.Reg && !Options.CCleaner && !Options.Cleanmgr && !Options.DechargDll && !Options.IE && !Options.WinUp)
                                {
                                    EspaceAp = espaceAv;
                                    MessageBox.Show("Le registre a bien été sauvegardé", "SBiiXpress - Informations", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                }
                                else
                                {
                                    if (Options.DechargDll && !Options.CCleaner && !Options.Cleanmgr && !Options.IE && !Options.Reg && !Options.WinUp)
                                    {
                                        EspaceAp = espaceAv;
                                        MessageBox.Show("Les DLL inutiles seront desormais déchargés", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    }
                                    else
                                    {
                                        if (Options.Cleanmgr && Gestion_Verification.ProcessEnCours("cleanmgr") == 1 && Gestion_Verification.ProcessEnCours("rundll32") == 1)
                                        {
                                            EspaceAp = Gestion_Verification.EspaceLibre();
                                            MessageBox.Show("Le nettoyage est maintenant terminé, cependant vous obtiendrez de meilleurs résultats en installant CCleaner\n" + Gestion_Verification.CalculEspaceLibere() + " Mo ont étés libérés", "SBiiXpress - Informations", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                            Gestion_Verification.SupprimerValeurRegistre(@"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\VolumeCaches\\", "StateFlags0666", rV);
                                        }
                                        else
                                        {
                                            EspaceAp = Gestion_Verification.EspaceLibre();
                                            MessageBox.Show("Le nettoyage est maintenant terminé, cependant vous obtiendrez de meilleurs résultats en installant CCleaner", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    this.lb_PourcentProg.Visible  = false;
                    this.lb_Progression.Visible   = false;
                    this.pb_Traitement.Visible    = false;
                    this.btn_Optimisation.Enabled = true;
                    this.gb_Operation.Enabled     = true;
                    this.gB_OptionsInfos.Enabled  = true;
                    Gestion_Verification.ecriture_Log();
                }
                else
                {                          //L'utilisateur n'est pas admin
                    if (IsCCleanerPresent) //Si CCleaner est présent
                    {
                        if (Options.CCleaner && Gestion_Verification.ProcessEnCours("CCleaner") == 1)
                        {
                            EspaceAp = Gestion_Verification.EspaceLibre();
                            MessageBox.Show("Le nettoyage est maintenant terminé\n" + Gestion_Verification.CalculEspaceLibere() + " Mo ont étés libérés", "SBiiXpress - Informations", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else
                        {
                            if (Options.Cleanmgr && Gestion_Verification.ProcessEnCours("cleanmgr") == 1)
                            {
                                EspaceAp = Gestion_Verification.EspaceLibre();
                                MessageBox.Show("Le nettoyage est maintenant terminé\n" + Gestion_Verification.CalculEspaceLibere() + " Mo ont étés libérés", "SBiiXpress - Informations", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                            else
                            {
                                EspaceAp = Gestion_Verification.EspaceLibre();
                                MessageBox.Show("Le nettoyage est maintenant terminé\n" + Gestion_Verification.CalculEspaceLibere() + " Mo ont étés libérés", "SBiiXpress - Informations", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                        }
                    }
                    else
                    {   //CCleaner n'est pas présent
                        if (Options.Cleanmgr && Gestion_Verification.ProcessEnCours("Cleanmgr") == 1)
                        {
                            EspaceAp = Gestion_Verification.EspaceLibre();
                            MessageBox.Show("Le nettoyage est maintenant terminé\n" + Gestion_Verification.CalculEspaceLibere() + " Mo ont étés libérés", "SBiiXpress - Informations", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    this.lb_PourcentProg.Visible  = false;
                    this.lb_Progression.Visible   = false;
                    this.pb_Traitement.Visible    = false;
                    this.btn_Optimisation.Enabled = true;
                    this.gb_Operation.Enabled     = true;
                    this.gB_OptionsInfos.Enabled  = true;
                    Gestion_Verification.ecriture_Log();
                }
            }
        }
 /// <summary>
 /// Cette méthode contient le traitement principal de l'application
 /// </summary>
 public void Traitement()
 {
     if (Gestion_Verification.IsAdministrator()) //On vérifie les droits de l'utilisateur
     {
         gb_Operation.Invoke((MethodInvoker) delegate { gb_Operation.Enabled = false; });
         gB_OptionsInfos.Invoke((MethodInvoker) delegate { gB_OptionsInfos.Enabled = false; });
         //gb_Operation.Enabled = false;
         //gB_OptionsInfos.Enabled = false;
         if (Options.Reg)
         {
             saveRegistre();     //Si l'option de sauvegarde de registre est cochée alors on lance la sauvegarde
         }
         bgw.ReportProgress(25); //Mise à jour de la ProgressBar et du label de progression
         if (Options.IE)
         {
             ClearIE(); //Si l'option de nettoyage de Internet Explorer est cochée alors on lance le nettoyage
         }
         bgw.ReportProgress(35);
         if (Options.CCleaner)
         {
             if (Gestion_Verification.ProcessEnCours("rundll.exe") == 1)
             {
                 CCleaner(); //Si l'option CCleaner est cochée et si le processus de nettoyage de IE n'est pas en cours, alors on exécute CCleaner
             }
         }
         bgw.ReportProgress(45);
         if (Options.Cleanmgr)
         {
             if (Gestion_Verification.ProcessEnCours("CCleaner") == 1 || Gestion_Verification.ProcessEnCours("CCleaner64") == 1 && Gestion_Verification.ProcessEnCours("rundll.exe") == 1)
             {
                 CleanMgrAll(); //Si l'option de nettoyage de disque Windows est cochée et que tous les processus précedents sont terminés, alors on exécute Cleanmgr.exe
             }
         }
         bgw.ReportProgress(60);
         if (Options.WinUp)
         {
             if (Gestion_Verification.ProcessEnCours("CCleaner") == 1 || Gestion_Verification.ProcessEnCours("CCleaner") == 1 && Gestion_Verification.ProcessEnCours("rundll.exe") == 1 && Gestion_Verification.ProcessEnCours("cleanmgr") == 1)
             {
                 ClearWinUpdate(); //Si l'option de nettoyage de Windows Update est cochée et que tous les processus précédents sont terminés alors on nettoie le cache de Windows Update
             }
         }
         bgw.ReportProgress(80);
         if (Options.DechargDll)
         {
             DechargDll(); //Ajout de la valeur permettant de décharger les DLL inutiles si l'option a été cochée
         }
         bgw.ReportProgress(100);
     }
     else
     {
         btn_Options.Invoke((MethodInvoker) delegate { btn_Options.Enabled = false; }); //Cette ligne permet de désactiver le bouton Options au lancement du traitement simple, sans générer d'erreur
         btn_Journal.Invoke((MethodInvoker) delegate { btn_Journal.Enabled = false; });
         btn_Optimisation.Invoke((MethodInvoker) delegate { btn_Optimisation.Enabled = false; });
         btn_Defrag.Invoke((MethodInvoker) delegate { btn_Defrag.Enabled = false; });
         //this.btn_Journal.Enabled = false;
         //this.btn_Optimisation.Enabled = false;
         //this.btn_Defrag.Enabled = false;
         if (Options.CCleaner && !Options.IE)
         {
             CCleaner(); //Si seul l'option CCleaner est cochée, alors on ne lance que CCleaner
         }
         else
         if (Options.IE && !Options.CCleaner)
         {
             ClearIE(); //Si seul l'option de nettoyage de Internet Explorer est cochée alors on n'exécute que ce nettoyage
         }
         else
         {                                                                 //Si les deux options sont cochées
             ClearIE();                                                    //On exécute le nettoyage de Internet Explorer
             if (Gestion_Verification.ProcessEnCours("rundll32.exe") == 1) //On attends que le nettoyage de Internet Explorer soit terminé
             {
                 CCleaner();                                               //Lorsque le processus précédent est terminé, on lance CCleaner
             }
         }
     }
 }