コード例 #1
0
        /// <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();
                }
            }
        }