すべてのドライブ、ファイル、およびサブフォルダーをツリービューで表示する最も簡単な方法を探しています。誰かがこれを行うためのコードのスニペットを持っていて、共有してもかまわない場合は、本当に感謝します。
私が得た最も近いものは、私が使用しようとしたこのコードでしたが、「デバイスの準備ができていません」という「IOException was unhandled」というエラーが表示されました。以下の行の実行時(約5〜10秒後)のエラー
Dim folders() As String = IO.Directory.GetDirectories(dir)
その下に残りのコードがあります
Private Sub Main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim drives As System.Collections.ObjectModel.ReadOnlyCollection(Of IO.DriveInfo) = My.Computer.FileSystem.Drives
Dim rootDir As String = String.Empty
For i As Integer = 0 To drives.Count - 1
rootDir = drives(i).Name
TreeView1.Nodes.Add(rootDir)
PopulateTreeView(rootDir, TreeView1.Nodes(i))
Next
End Sub
Private Sub PopulateTreeView(ByVal dir As String, ByVal parentNode As TreeNode)
Dim folder As String = String.Empty
Try
Dim folders() As String = IO.Directory.GetDirectories(dir)
If folders.Length <> 0 Then
Dim childNode As TreeNode = Nothing
For Each folder In folders
childNode = New TreeNode(folder)
parentNode.Nodes.Add(childNode)
PopulateTreeView(folder, childNode)
Next
End If
Catch ex As UnauthorizedAccessException
parentNode.Nodes.Add(folder & ": Access Denied")
End Try
End Sub