Dateien suchen - Zugriff Verweigert

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von The King of Losers.

    Dateien suchen - Zugriff Verweigert

    Also ich hab "Dateien Suchen" Implementiert.

    Hier der Code:

    Quellcode

    1. Dim path As String = TextBox2.Text
    2. Dim searchPattern As String = TextBox1.Text
    3. If My.Computer.FileSystem.DirectoryExists(Path) Then
    4. Dim di As DirectoryInfo = New DirectoryInfo(Path)
    5. Dim directories() As DirectoryInfo = di.GetDirectories(searchPattern, SearchOption.AllDirectories)
    6. Dim files() As FileInfo = di.GetFiles(searchPattern, SearchOption.AllDirectories)
    7. Dim dir As DirectoryInfo
    8. For Each dir In directories
    9. Form3.ListView1.Items.Add(dir.FullName)
    10. Next dir
    11. Dim file As FileInfo
    12. For Each file In files
    13. Form3.ListView1.Items.Add(file.Name)
    14. Next file
    15. End If



    Das geht allles wunderbar. Es zeigt alle Dateien an.

    Doch wenn ich als pfad nur "C:\" durchsuchen will (also ganze festplatte) kommt die meldung:

    Quellcode

    1. Der Zugriff auf den Pfad C:\System Volume Information wurde verweigert.


    Gibts da ne lösung oder muss ich dem user klarmachen, dass er nur bestimmte Verzeichnisse durchsuchen darf?


    mfg
    The King of Loser


    ps: noch ne frage: wie kann ich dem listview das image übergeben? Also was muss ich der Add-Funktion (oben der code) übergeben?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „The King of Losers“ ()

    Hi!

    Versuch mal ne andere SearchOption einzustellen.

    @ Agent: Das bringt nix. Der Code würde beim ersten geschützten Verzeichnis in den Catch-Block springen und es wär aus.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mad Andy“ ()

    hab ich schon versucht.

    es gibt nur 2 search-options.

    1, die alle unterverzeichnisse auch durchsucht und die 2. durchsucht nur das eine verzeichnis (also in dem fall nur "C:\" z.b. wird dann "C:\Programme" ignoriert...Das will ich auch net...
    Ich progge nicht in .net aber würde es unter VB6 mit einem on error resume next probieren, oder vorher in einer anderen Function testen, ob Zugriff auf den Ordner besteht und dann erst diesen hinzufügen. Oder halt eine eigene Routine zum Directory auslesen proggen, welche solche Probleme abfängt.
    Gruß
    Peterfido

    Keine Unterstützung per PN!