/// <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(); } }
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; } } } }
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(); } } } }
/// <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 } } } }