Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Έστω ότι θέλω να ψάξω όλα τα drives, και όλα τα directories και sub-directories τους, για να βρω όλα τα αρχεία κάποιων τύπων. (πχ .jpg).

 

Έχω που λέτε αυτή τη μέθοδο:

        private List<string> GetPicturesPaths(string driveName)
        {
            
                return Directory.GetFiles(driveName, "*.*", SearchOption.AllDirectories)
                    .Where(file => new string[] { ".jpg", ".gif", ".png", ".bmp" }
                    .Contains(Path.GetExtension(file)))
                    .ToList();

        }

Μου βγάζει όμως UnauthorizedAccessException.

 

Πήγα στους δίσκους, και απ' τα security properties όρισα ο χρήστης να έχει full access σε directories και subdirectories.

Έτρεξα το πρόγραμμα και διαπίστωσα ότι ενώ το έτρεξα ως ο χρήστης με full access στον task manager, το exception επιμένει να εμφανίζεται.

 

Είδα ως πρόταση για λύση στο StackOverflow τη χρήση της κλάσης DirectorySecurity.

 

Τη χρησιμοποίησα, και μου έβγαλε άλλο exception, ότι δε μπορεί να γίνει ανάγνωση των διακριτικών του χρήστη. Στο debugging όμως είδα ότι τα διακριτικά του χρήστη είναι σωστά.

Οι μεταβλητές στο debugging περιέχουν ακριβώς τα ίδια με αυτά που εμφανίζονται στα security properties του file explorer.

 

RGuSehh.png

 

 

Λίγη βοήθεια όσοι ξέρετε από το πως λειτουργεί η προστασία των φακέλων των Windows ?

 

 

Υστερόγραφο: Θέλω βασικά να κάνω κάτι παρόμοιο με το android όπου όταν ανοίγεις το app των εικόνων, σου βγάζει όλες τις εικόνες ανεξάρτητα το σε ποιο directory βρίσκονται. Μέρος ενός μεγαλύτερου project που σκοπό έχει να αυξήσει τη παραγωγικότητα και το user friendliness αντικαθιστόντας τα βασικά apps των windows (preview, notepad, file browser, κτλπ) με άλλα.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...