Bonjour,

J'ai un problème avec un code que j'ai trouver sur une site
je veux faire un scanne de mon disque dur mais il m'interdit sur certain fichier dedans

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
        const int HowDeepToScan = 7;
        public void prcoessdire(string sourceDir, int recursionLvl)
        {
            scanDir(sourceDir, recursionLvl);
        }
 
        public void scanDir(string sourceDir, int recursionLvl)
        {
            if (recursionLvl <= HowDeepToScan)
            {
                // Process the list of files found in the directory.
                string[] fileEntries = Directory.GetFiles(sourceDir);
                foreach (string fileName in fileEntries)
                {
                    MessageBox.Show(fileName);
                    //richTextBox1.Text = fileName;
                }
 
                // Recurse into subdirectories of this directory.
                string[] subdirEntries = Directory.GetDirectories(sourceDir);
                foreach (string subdir in subdirEntries)
                    // Do not iterate through reparse points
                    if ((File.GetAttributes(subdir) &
                         FileAttributes.ReparsePoint) !=
                             FileAttributes.ReparsePoint)
 
                        scanDir(subdir, recursionLvl + 1);
            }
        }
Utilisation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
scanDir("D:\\", 1);
c'est le 2eme disque dur sur mon pc ou j'ai tout les droits dessus
aucun système d'exploitation n'est mis dedans.

L'erreur est:

System.UnauthorizedAccessException: L'accès au chemin d'accès 'D:\System Volume Information\' est refusé.
Sachant que avec le code suivant il scanne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
MessageBox.Show(fileName);
mais avec lui non
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 richTextBox1.Text = fileName;
Si vous avez une petite idée
Merci

Cordialement,