Esempio n. 1
0
        // -------------------------------------------------------------------------
        // On importe le subtree sélectionné
        // -------------------------------------------------------------------------
        private void Bt_SelectHive_Import(object sender, RoutedEventArgs e)
        {
            // Ferme le popup "Select Registry"
            Pu_SelectHive.IsOpen = false;

            // On affiche le Popup Sablier
            Pu_Working.IsOpen = true;

            // On renseigne l'InfoChip
            string HivePath = @"HKLM\" + Tb_HivePath.Text;

            CurrentRegistry        = new RecentRegistry(HivePath);
            Tree_InfoChip.Content  = CurrentRegistry.Name;
            Tree_InfoChipIcon.Kind = CurrentRegistry.Icon;

            // Enleve le message "drop your file"
            this.ReInitDisplay();

            // On remplit le RegistryTree à partir du subtree de la Registry (=Hive)
            AsynchronousHiveLoading(CurrentRegistry.Name);

            //// On importe la Hive
            //Parser2.ParseHive(Tb_HivePath.Text);   // peut être long (25 secs)
            //Parser2.BuildList();

            // On enlève le Popup Sablier
            Pu_Working.IsOpen = false;

            // Ajout à la liste des Recent Regs
            RecentsRegs.Add(HivePath);
            this.SaveRecentRegs();
        }
Esempio n. 2
0
        // -------------------------------------------------------------------------
        // On clique sur une RecentChip: on charge le fichier ou la ruche (Hive)
        // -------------------------------------------------------------------------
        private void Bt_RecentChip_Click(object sender, RoutedEventArgs e)
        {
            // On recupère la Chip qui a été cliquée
            MaterialDesignThemes.Wpf.Chip SenderChip = sender as MaterialDesignThemes.Wpf.Chip;
            // On enregistre son nom
            string RecentRegToLoadName = SenderChip.Content.ToString();

            CurrentRegistry = new RecentRegistry(RecentRegToLoadName);
            // On ferme le popup "recent chip"
            Pu_Recent.IsOpen = false;
            // On affiche le Popup Sablier
            Pu_Working.IsOpen = true;

            // On renseigne l'InfoChip
            Tree_InfoChip.Content  = CurrentRegistry.Name;
            Tree_InfoChipIcon.Kind = CurrentRegistry.Icon;

            // Si le RecentReg est un fichier
            if (CurrentRegistry.GetGenre() == RecentRegistry.Genre.file)
            {
                // On enleve le message "drop your file"
                this.ReInitDisplay();
                // On remplit le RegistryTree à partir du fichier REG
                Parser1.ParseFile(CurrentRegistry.Name);
                Parser1.BuildList();
                // On enlève le Popup Sablier
                Pu_Working.IsOpen = false;
            }
            // Si le RecentReg est un subtree de la Registry
            else if (CurrentRegistry.GetGenre() == RecentRegistry.Genre.hive)
            {
                // On enleve le message "drop your file"
                this.ReInitDisplay();
                // On remplit le RegistryTree à partir du subtree de Registre
                AsynchronousHiveLoading(CurrentRegistry.Name);
                // Parser2.ParseHive(CurrentRegistry.Name);
                // Parser2.BuildList();
            }
            // Autres cas...
            else
            {
                // On enlève le Popup Sablier
                Pu_Working.IsOpen = false;
                // Gestion de l'affichage
                this.ReInitDisplay();
            }
        }
Esempio n. 3
0
        // -------------------------------------------------------------------------
        // Drop d'un (ou plusieurs) fichier(s) dans une TreeView
        // -------------------------------------------------------------------------
        private void Tree1_drop(object sender, DragEventArgs e)
        {
            string[] droppedFiles = null;
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                droppedFiles = e.Data.GetData(DataFormats.FileDrop, true) as string[];
            }

            if ((droppedFiles == null) || (!droppedFiles.Any()))
            {
                return;
            }

            // Reinitit de l'IHM (on efface le Tree actuel)
            this.ReInitDisplay(showLengthstats: true);

            // S'il y a un (ou plus) fichier(s) droppé(s), on ouvre le premier dans la TreeView
            if (droppedFiles.Length > 0)
            {
                string fileName = droppedFiles[0];
                CurrentRegistry = new RecentRegistry(fileName);

                // On renseigne l'InfoChip
                Tree_InfoChip.Content  = CurrentRegistry.Name;
                Tree_InfoChipIcon.Kind = CurrentRegistry.Icon;

                // On remplit le RegistryTree à partir du fichier REG
                Parser1.ParseFile(CurrentRegistry.Name);
                Parser1.BuildList();
                // Ajout à la liste des Recent Regs
                RecentsRegs.Add(CurrentRegistry.Name);
                this.SaveRecentRegs();
            }
            // on ferme le popup
            Pu_Recent.IsOpen = false;
        }