Bonjour,

Voila j'ai un treeview qui déploie toute l'arborescence du disque local C:, mais également certains dossiers cachés comme "$Recycle.bin" ou "System Volume information", "Documents and settings" (je suis en W7).

Or l'apparition de ce treeview est très longue à cause justement de ces fichiers cachés sur lesquels même en admin je n'est pas d'accès.

De plus lorsqu'ils apparaissent dans le treeview et que je clique dessus, cela provoque une erreur.

Y a t il un moyen que le "directoty.info" ne prenne pas en compte ces fameux dossiers cachés.
Je sais pas s'il y a une option spéciale dossiers caché ou si par une condition du genre "si dans le directory.info du C, si tel dossier caché existe alors l'exclure de l'arborescence.."

Pour info voici le début du code concerné: (il n'est pas de moi, source msdn.microsoft)

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
31
32
33
34
35
36
37
38
39
40
41
42
43
 Private Sub PopulateTreeView() 
        Dim rootNode As TreeNode
 
        Dim info As New DirectoryInfo("C:\")
        If info.Exists Then
            rootNode = New TreeNode(info.Name)
            rootNode.Tag = info
            GetDirectories(info.GetDirectories(), rootNode)
            TreeView1.Nodes.Add(rootNode)
        End If
 
    End Sub
 
 
    Private Sub GetDirectories(ByVal subDirs() As DirectoryInfo, ByVal nodeToAddTo As TreeNode)
 
        Dim aNode As TreeNode
        Dim subSubDirs() As DirectoryInfo
        Dim subDir As DirectoryInfo
        For Each subDir In subDirs
            aNode = New TreeNode(subDir.Name, 0, 0)
            aNode.Tag = subDir
            aNode.ImageKey = "folder"
            Try
                subSubDirs = subDir.GetDirectories()
            Catch e As UnauthorizedAccessException
                subSubDirs = Nothing
            End Try
            If Not subSubDirs Is Nothing Then
                If subSubDirs.Length <> 0 Then
                    GetDirectories(subSubDirs, aNode)
                End If
            End If
            nodeToAddTo.Nodes.Add(aNode)
        Next subDir
 
    End Sub
 
    Public Sub New()
        InitializeComponent()
        PopulateTreeView()
 
    End Sub 'New
Je suis débutant en la matière, merci d'avance pour votre aide.