Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB.NET] Impossibile evitare l'eccezione 'Accesso negato alla cartella...'

    Ciao a tutti,
    sto cercando di creare una applicazione per cercare file e testo. Tutto va bene, ma non riesco a far funzionare la mia app a causa dell'eccezione 'Accesso negato alla cartella..' che accade quando voglio cercare all'interno delle cartella Documenti. In particolare il mio programma si inceppa a causa della inaccessibilità delle sottocartelle 'Immagini', 'Musica' e 'Video'.
    La routine che uso è:
    codice:
    Try
    
                    Dim folderName As String = Nothing
    
                    If (Environment.GetCommandLineArgs.Length > 1) Then
                        folderName = Environment.GetCommandLineArgs(1)
    
                    End If
    
    
                    ' Set a variable to the My Documents path.
    
                    Dim txtFiles = Directory.EnumerateFiles(folderName, "*.*", opt)
    
                    For Each namo As String In txtFiles
                        Dim readText As String = File.ReadAllText(namo)
                        If readText.Contains(TextBox1.Text) Then
    
                            ImageList1.ColorDepth = ColorDepth.Depth32Bit
                            Dim sh As New NativeMethods.SHFILEINFO
    
                            sh = NativeMethods.GetInfoFromShell(namo.ToString)
                            Dim theIcon As Icon
                            If sh.hIcon <> IntPtr.Zero Then
    
    
    
                                listView1.LargeImageList = ImageList1
                                listView1.SmallImageList = ImageList1
                                listView1.View = View.SmallIcon
                                theIcon = DirectCast(System.Drawing.Icon.FromHandle(sh.hIcon).Clone, System.Drawing.Icon)
    
    
                                ImageList1.Images.Add(namo.ToString, theIcon.Clone)
                                listView1.Items.Add(namo.ToString, namo.ToString)
    
                            End If
                        End If
                        remov()
    
                        listView1.View = View.Details
    
                    Next
    Ma ho usato anche:
    codice:
    Dim lstResult As New ListView
                Dim stkStack As New Stack(Of String)
                stkStack.Push("C:\Users\giorg\Documents")
                Do While (stkStack.Count > 0)
                    Dim strDirectory As String = stkStack.Pop
                    Try
    
                        Dim strDirectoryName As String
    
                        For Each strDirectoryName In Directory.GetFiles(strDirectory)
                            listView1.Items.Add(strDirectoryName)
    
                        Next
    
                    Catch ex As UnauthorizedAccessException
                        MsgBox(ex.Message)
                    End Try
                Loop
    Con quest'ultima routine sono riuscito a vedere le cartelle incriminate, che invece non riesco a vedere se vado a mano nella cartella Documenti

    Qualcuno ha un'idea su come posso evitare questo problema?
    Grazie a tutti in anticipo
    Giorgio
    L'esperienza è il tipo di insegnante più difficile. Prima ti fa l'esame, e poi ti spiega la lezione. (Oscar Wilde)

  2. #2
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,580
    il programma in questione si avvia con permessi di amministratore?
    lo puoi gestire nel file config
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  3. #3
    le varie cartelle "documenti" sono riservate agli utenti: puoi vedere solo le tue se sei un utente normale (non admin)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.