/// <summary>
 /// Cette méthode permet de lancer l'outil de Nettoyage de disque de Windows en mode complet
 /// </summary>
 public void CleanMgrAll()
 {
     Gestion_Verification.LectureEcritureRegistre(@"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\VolumeCaches\\", "StateFlags0666", 2, RegistryValueKind.DWord, rV);
     //On ajoute un flag sur toutes les options qui seront concernées par le nettoyage
     Exec("cleanmgr.exe", " /sagerun:0666");
     //On exécute le nettoyage en précisant le nom du flag correspondant aux valeurs à supprimer
 }
Beispiel #2
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;
             }
         }
     }
 }
Beispiel #3
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();
     }
 }
Beispiel #5
0
 /// <summary>
 /// Cette méthode s'exécute au chargement de la form
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Journal_Load(object sender, EventArgs e)
 {
     if (!Directory.Exists("C:\\SBiiXpress\\Logs"))
     {
         //Si le fichier de log n'existe pas alors on affiche un message
         MessageBox.Show("Il s'agit de votre première utilisation de l'application, les informations seront complétées lorsque le processus d'optimisation/nettoyage aura été complété", "SBiiXpress - Informations", MessageBoxButtons.OK, MessageBoxIcon.Information);
         lb_NbEsp.Text = "0 Mo";                           //La taille affichée sur la form est définie à zéro
         lb_Date.Text  = DateTime.Now.ToShortDateString(); //Et la date a celle du jour
     }
     else
     {
         if (Gestion_Verification.LectureEspace_Log() != 0)
         {
             //Si la taille totale trouvée avec le log est différent de zéro
             if (Gestion_Verification.LectureEspace_Log().ToString().Length >= 4)
             {
                 double taille = Gestion_Verification.LectureEspace_Log() / 1024;
                 taille        = Math.Round(taille, 2);
                 lb_NbEsp.Text = taille.ToString() + " Go"; //Alors on affiche cette taille sur la form
             }
             else
             {
                 lb_NbEsp.Text = Gestion_Verification.LectureEspace_Log().ToString() + " Mo"; //Alors on affiche cette taille sur la form
             }
             lb_Date.Text = Gestion_Verification.LectureDate_Log();                           //Puis on affiche la date de première utilisation inscrite dans le log
         }
         else
         {
             //Sinon on mets des valeurs par défaut et on désactive le bouton
             lb_NbEsp.Text = "0 Mo";
             lb_Date.Text  = DateTime.Now.ToShortDateString();
         }
     }
 }
Beispiel #6
0
 /// <summary>
 /// Constructeur de la classe
 /// </summary>
 public Encre()
 {
     InitializeComponent();
     if (Gestion_Verification.GetImprimante() == "Aucune")
     {
         MessageBox.Show("Aucune imprimante par défaut n'a été trouvé", "SBiiXpress - Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     lb_Imp.Text = Gestion_Verification.GetImprimante();
 }
Beispiel #7
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);
     }
 }
Beispiel #8
0
 private void cB_Superfetch_CheckedChanged(object sender, EventArgs e)
 {
     if (cB_Superfetch.Checked && Gestion_Verification.GetOSVer() != "XP")
     {
         Superfetch = true;
     }
     else
     {
         Superfetch = false;
     }
 }
Beispiel #9
0
        /// <summary>
        /// Méthode qui permet simplement de savoir si CCleaner est installé
        /// </summary>
        /// <returns></returns>
        public static void RechercheCCleaner()
        {
            string test = Gestion_Verification.LectureValCleRegistre(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CCleaner", "InstallLocation", CleanerXpress.rV);

            if (File.Exists(test + "\\CCleaner.exe"))
            {
                CleanerXpress.IsCCleanerPresent = true;
            }
            else
            {
                CleanerXpress.IsCCleanerPresent = false;
            }
        }
        public void Hibernation()
        {
            int val = Convert.ToInt16(Gestion_Verification.LectureValCleRegistre(@"SYSTEM\CurrentControlSet\Control\Power", "HibernateEnabled"));

            if (val == 1)
            {
                cB_veille.Checked = true;
                MessageBox.Show("Nous avons détecté que la mise en veille prolongée est activée, nous vous recommandons de la desactiver", "SBiiXpress - Informations", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                cB_veille.Checked = false;
            }
        }
 /// <summary>
 /// Cette méthode gère la CheckBox pour la mise en vielle, elle s'active lorsque l'utilisateur coche ou décoche la case
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void cB_veille_MouseClick(object sender, MouseEventArgs e)
 {
     if (cB_veille.Checked)
     {
         DialogResult result = MessageBox.Show("Êtes-vous sûr de vouloir activer la mise en veille prolongée ?\n Cette action n'est pas recommandée", "SBiiXpress - Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
         if (result == DialogResult.Yes)
         {
             Gestion_Verification.ecrireRegistre(@"SYSTEM\CurrentControlSet\Control\Power", "HibernateEnabled", 1, RegistryValueKind.DWord, rV);
         }
     }
     else
     {
         Gestion_Verification.ecrireRegistre(@"SYSTEM\CurrentControlSet\Control\Power", "HibernateEnabled", 0, RegistryValueKind.DWord, rV);
     }
 }
 /// <summary>
 /// Cette méthode s'exécute lorsque l'utilisateur à cliquer sur le bouton "Supprimer"
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btn_Supprimer_Click(object sender, EventArgs e)
 {
     try
     {
         DialogResult result = MessageBox.Show("Êtes-vous sûr de vouloir supprimer les fichiers séléctionnés ?\nCette action est irréversible", "SBiiXpress - Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
         //Affichage d'un message de confirmation
         if (result == DialogResult.Yes)
         {
             //Si l'utilisateur valide alors on supprime les fichers qu'il a sélectionné
             foreach (DataGridViewRow d in dGV_Telechargement.Rows)
             {
                 //Pour chaque lignes du DataGridView
                 if (Convert.ToBoolean(d.Cells[ColumnCheckBox.Name].Value) == true && d.Cells[ColumnType.Name].Value.ToString() == "Fichier")
                 {
                     //Si la ligne actuelle a été cochée par l'utilisateur et si le contenu de la cellule "Type" est égal à "Fichier"
                     Files[d.Index].Delete(); //Alors on supprime
                 }
                 else
                 {
                     if (Convert.ToBoolean(d.Cells[ColumnCheckBox.Name].Value) == true && d.Cells[ColumnType.Name].Value.ToString() == "Dossier")
                     {
                         //Sinon, si la ligne actuelle a été cochée et que le contenu de la cellule "Type" est égal à "Dossier"
                         foreach (DirectoryInfo dir in Directories)
                         {
                             //Alors on parcours les sous-dossiers du dossier de téléchargement, stockés dans dir
                             if (dir.Name.ToString() == d.Cells[ColumnNom.Name].Value.ToString())
                             {
                                 //Si le nom du dossier actuel dans le dossier de téléchargement est égal au nom du fichier contenu dans la ligne du DataGridView
                                 dir.Delete(true); //Alors on supprime en désactivant la confirmation
                             }
                         }
                     }
                 }
             }
             CleanerXpress.EspaceAp = Gestion_Verification.EspaceLibre();
             MessageBox.Show("Le traitement est mainteant terminé, l'opération a permis de libérer " + Gestion_Verification.CalculEspaceLibere() + " Mo", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
             Gestion_Verification.Ecriture_Log();
             dGV_Telechargement.Rows.Clear();
             Telechargements_Load(sender, e);
         }
     }
     catch (Exception err)
     {
         //En cas d'erreur, affichage d'un message
         MessageBox.Show(err.Message);
     }
 }
 /// <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>
 /// Cette méthode permet de nettoyer le cache de Windows Update
 /// </summary>
 public void ClearWinUpdate()
 {
     if (Gestion_Verification.CheckService("wuauserv") == "Lancé" || Gestion_Verification.CheckService("wuauserv") == "En cours de démarrage")
     {
         Exec("cmd", " /c net stop wuauserv");                      //On arrête le service de Windows Update
         System.Threading.Thread.Sleep(2000);                       //On stoppe le programme le temps que le service s'arrête
         Exec("cmd", "/c rd /s /Q %Windir%\\SoftwareDistribution"); //On supprime tout le dossier qui contient les fichiers de Windows Update
         System.Threading.Thread.Sleep(2000);                       //On refait une pause le temps que les fichiers soient supprimés
         Exec("cmd", " /c net start wuauserv");                     //Puis on redémarre le service de Windows Update
     }
     else
     if (Gestion_Verification.CheckService("wuauserv") == "Stoppé" || Gestion_Verification.CheckService("wuauserv") == "Arrêt en cours")
     {
         Exec("cmd", " /c net stop wuauserv");                      //On arrête le service de Windows Update
         System.Threading.Thread.Sleep(2000);                       //On stoppe le programme le temps que le service s'arrête
         Exec("cmd", "/c rd /s /Q %Windir%\\SoftwareDistribution"); //On supprime tout le dossier qui contient les fichiers de Windows Update
     }
 }
        /// <summary>
        /// Cette méthode gère la suppression automatique des fichiers
        /// </summary>
        /// <param name="folder"></param>
        public static void SuppressAuto(string folder)
        {
            int    i = 0;
            double espaceAv, espaceAp = 0;

            espaceAv    = Gestion_Verification.EspaceLibre();
            dinfo       = new DirectoryInfo(folder); //On récupère l'emplacement du dossier de téléchargement
            Directories = dinfo.GetDirectories();
            Files       = dinfo.GetFiles();
            foreach (FileInfo file in Files)
            {
                //Pour chaque fichiers du dossier de téléchargement
                if (file.Extension == ".exe" || file.Extension == ".msi")
                {
                    //Si l'extension du ficher actuel est .exe ou .msi
                    i++;
                    file.Delete(); //Alors on le supprime
                }
                if ((Convert.ToInt16(file.LastAccessTime.Month) - Convert.ToInt16(DateTime.Now.Month) >= 2))
                {
                    //Si la date de dernier accès du ficher actuel est supérieur à 2 mois
                    i++;
                    file.Delete(); //Alors on le supprime
                }
            }
            if (i != 0)
            {
                //Si au moins un fichier a été supprimé, alors on affiche un message avec la taille libérée
                CleanerXpress.EspaceAp = Gestion_Verification.EspaceLibre();
                MessageBox.Show("Le traitement est terminé, " + Gestion_Verification.CalculEspaceLibere() + " Mo ont été libérés", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                if (i == 0)
                {
                    //Sinon on affiche un message qui annonce qu'aucun fichier n'a été supprimé
                    espaceAp = espaceAv;
                    MessageBox.Show("Aucun fichier n'a été supprimé car aucun ne correspondait à nos critères de sélection", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            Gestion_Verification.Ecriture_Log();
        }
 /// <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();
             }
         }
     }
 }
 /// <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
             }
         }
     }
 }
Beispiel #18
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;
                }
            }
        }
 private void GetContenu()
 {
     try
     {
         double  tailleKo = 0, tailleMo = 0, tailleGo = 0;
         decimal nbFichierGo = 0;
         int     nbFiles = 0, nbDir = 0;
         foreach (FileInfo file in Files)
         {
             //Pour chaque fichiers du dossier de téléchargement
             nbFiles++;                                                   //Incrémentation du
             tailleKo = file.Length / 1024;                               //On récupère la taille du fichier courant en Ko
             tailleMo = Math.Round(Convert.ToDouble(tailleKo / 1024), 2); //Puis conversion en Mo
             tailleGo = Math.Round(Convert.ToDouble(tailleMo / 1024), 2); // Et en Go
             if (file.Name != "desktop.ini")
             {
                 //On vérifie que le fichier en cours n'est pas Desktop.ini, qui est un fichier système
                 if (tailleKo == 0)
                 {
                     dGV_Telechargement.Rows.Add(false, file.Name, "Fichier", tailleKo);                //Si le fichier est très petit alors on n'ajoute que sa taille en Ko
                 }
                 else if (tailleGo < 0.1)
                 {
                     dGV_Telechargement.Rows.Add(false, file.Name, "Fichier", tailleKo, tailleMo);                      //Sinon on ajoute la taille en Mo
                 }
                 else
                 {
                     dGV_Telechargement.Rows.Add(false, file.Name, "Fichier", tailleKo, tailleMo, tailleGo);  //Et sinon on ajoute tout
                 }
             }
         }
         foreach (DirectoryInfo dir in Directories)
         {
             //Pour chaque dossiers du dossier de téléchargement
             nbDir++; //Incrémentation du nombre de dossier
             //Le traitement est le même que pour les fichiers
             tailleKo = Math.Round(Convert.ToDouble(Gestion_Verification.FolderSize(folder + "\\" + dir.ToString(), "Ko")), 2);
             tailleMo = Math.Round(Convert.ToDouble(Gestion_Verification.FolderSize(folder + "\\" + dir.ToString(), "Mo")), 2);
             tailleGo = Math.Round(Convert.ToDouble(Gestion_Verification.FolderSize(folder + "\\" + dir.ToString(), "Go")), 2);
             if (tailleKo == 0)
             {
                 dGV_Telechargement.Rows.Add(false, dir.Name, "Dossier", tailleKo);
             }
             else if (tailleGo < 0.1)
             {
                 dGV_Telechargement.Rows.Add(false, dir.Name, "Dossier", tailleKo, tailleMo);
             }
             else
             {
                 dGV_Telechargement.Rows.Add(false, dir.Name, "Dossier", tailleKo, tailleMo, tailleGo);
             }
         }
         if (nbFiles == 0 && nbDir == 0)
         {
             //Si aucun fichier ni sous-dossiers n'a été trouvé, alors on désactive tout et on affiche un message
             dGV_Telechargement.Columns[0].Visible = false;
             dGV_Telechargement.Columns[1].Visible = false;
             dGV_Telechargement.Columns[2].Visible = false;
             dGV_Telechargement.Columns[3].Visible = false;
             dGV_Telechargement.Columns[4].Visible = false;
             MessageBox.Show("Le dossier est vide", "SBiiXpress - Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         for (int i = 0; i < dGV_Telechargement.Rows.Count; i++)
         {
             //On vérifie s'il y a une ligne qui utilise la colonne Taille (en Go)
             nbFichierGo += Convert.ToDecimal(dGV_Telechargement.Rows[i].Cells["ColumnTailleGo"].Value);
         }
         if (nbFichierGo < 1)
         {
             //Si ce n'est pas le cas, alors on la désactive
             dGV_Telechargement.Columns["ColumnTailleGo"].Visible = false;
         }
     }
     catch (Exception e)
     {
         //Affichage d'un message en cas d'erreur
         MessageBox.Show(e.Message);
     }
 }
 /// <summary>
 /// Cette méthode permet d'écrire dans le registre une valeur permettant de décharger automatiquement les DLL inutilisées
 /// </summary>
 public void DechargDll()
 {
     Gestion_Verification.ecrireRegistre("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer", "AlwaysUnloadDll", 1, RegistryValueKind.DWord, rV);
 }
        /// <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();
                }
            }
        }
Beispiel #22
0
        /// <summary>
        /// Cette méthode permet de se connecter à la base de données, dans la BDD on stocke l'adresse MAC du PC
        /// qui sert d'identifiant, la quantité totale d'espace libérée et le modèle d'imprimante
        /// </summary>
        public static void BDD()
        {
            //string cs = @"server=localhost;database=io1mf84j_sbiiapp;userid=root;password=;";  //Connexion à une base de donnée locale
            //string cs = @"server=lhcp1029.webapps.net:3306;database=sbiixpretq123456;userid=sbii2710;password=;"; //Chaîne de caractère qui contient les informations pour la connexion à la BDD
            string          cs   = @"server=lhcp1029.webapps.net:3306;database=io1mf84j_sbiixpress_appli;userid=io1mf84j_rpxiibs;password=+-123456A*bc+D-e/F;";
            MySqlConnection conn = null;

            try
            {
                conn = new MySqlConnection(cs);                                                                                                                                                                                                              //On crée une connexion SQL avec les information saisies dans la chaîne de caractères
                conn.Open();                                                                                                                                                                                                                                 //On ouvre la connexion
                string          SelectQuery = "SELECT * from clt_config WHERE identifiant = '" + Gestion_Verification.GetMacAdress() + "'";                                                                                                                  //Requête SLQ, on vérifie si un enregistrement avec le même identifiant existe déjà
                MySqlCommand    cmd         = new MySqlCommand(SelectQuery, conn);                                                                                                                                                                           //On stocke la commande et les informations relatives au serveur dans une variable "cmd"
                MySqlDataReader dataReader  = cmd.ExecuteReader();                                                                                                                                                                                           //Exécution de la commande
                if (dataReader.Read())
                {                                                                                                                                                                                                                                            //Si la commande SELECT à trouver un tuple avec le même identifiant alors on fait le traitement suivant
                    dataReader.Close();                                                                                                                                                                                                                      //Fermeture du dataReader necessaire pour la commande
                    string       query       = "UPDATE clt_config SET freespace ='" + Gestion_Verification.LectureEspace_Log() + "', print='" + Gestion_Verification.GetImprimante() + "' WHERE identifiant ='" + Gestion_Verification.GetMacAdress() + "'"; //On stocke la commande pour la mise à jour de l'enregistrement existant
                    MySqlCommand UpdateQuery = new MySqlCommand(query, conn);                                                                                                                                                                                //Stockage de la commande et des informations relatives à la connexion à la BDD
                    UpdateQuery.ExecuteNonQuery();                                                                                                                                                                                                           //Exécution de la commande
                    dataReader.Close();
                }
                else
                if (!dataReader.Read())
                {
                    //Si aucun enregistrement avec le même identifiant existe
                    dataReader.Close();
                    string       query       = "INSERT INTO clt_config (identifiant,freespace,print) VALUES ('" + Gestion_Verification.GetMacAdress() + "','" + Gestion_Verification.LectureEspace_Log() + "','" + Gestion_Verification.GetImprimante() + "')"; //Stockage de la commande pour créer un nouvel enregistrement avec les informations voulues
                    MySqlCommand InsertQuery = new MySqlCommand(query, conn);                                                                                                                                                                                   //Stockage de la commande et des informations relatives à la connexion à la BDD
                    InsertQuery.ExecuteNonQuery();                                                                                                                                                                                                              //Exécution de la commande
                }
                conn.Close();                                                                                                                                                                                                                                   //Fermeture de la connexion
            }
            catch (Exception ex)                                                                                                                                                                                                                                //En cas d'erreur, on affiche un message
            {
                MessageBox.Show("Impossible de se connecter à la base de données\n" + ex, "SBiiXpress - Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }