Bonjour,
1°) j'aimerais savoir comment reconnaître d'avance un répertoire en lecture seul sans devoir attendre le code erreur de retour en tentative d'écriture sur celui-ci comme on peut le faire pour savoir si un fichier est système, archive, lecture, caché.
2°) j'aimerais savoir aussi comment détecter les autorisations (permissions, comptes autorisés) d'écriture sur un répertoire sans devoir attendre le code erreur de retour en tentative d'écriture sur celui-ci comme on le fait pour un fichier.
Cette question est indépendante de la première car le répertoire peut être en lecture/écriture mais que pour certaines personnes donc inutile d'aller plus loin s'il est déjà en lecture seul.
j'ai essayé par le code suivant différents tests:
Dim FolderBrowserDialog1 As FolderBrowserDialog = New FolderBrowserDialog() Dim MyAttr As FileAttribute If FolderBrowserDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then MyAttr = GetAttr(FolderBrowserDialog1.SelectedPath) MsgBox(MyAttr.ToString) 'me retourne Directory MsgBox(File.GetAttributes(FolderBrowserDialog1.SelectedPath).ToString) 'me retourne Directory Dim information As System.IO.FileInfo information = My.Computer.FileSystem.GetFileInfo(FolderBrowserDialog1.SelectedPath) MsgBox(information.IsReadOnly) 'me retourne toujours false même si le répertoire est en lecture seul End If
d'avance merci à tous
Bonjour,
Tu parles comme si Windows était Linux ;) On en est assez loin :twisted:
Si tu regardes les propriétés (sous l'explorateur je veux dire) de n'importe quel répertoire tu verras:
- qu'il est en lecture seule systématiquement.
- que si tu décoches la case et que tu ouvres à nouveau les propriétés, la case "lecture seule" est à nouveau cochée :lol:
- et que malgré ça tout le monde peut déposer quelque chose dans le répertoire. :lol:
Donc ce que te dis FileInfo est juste même si c'est faux parce que normalement la case est cochée et que le répertoire est en lecture seule mais tu peux quand même écrire dedans. (oui faut suivre...)
SAUF si le répertoire est un répertoire utilisateur. Par exemple
c:\\Documents and Settings\prady92
Celui là est en lecture seule effectivement. pas pour toi mais si un utilisateur lambda exécute ton code, là le code doit retourner le flag true.
Je n'avais pas répondu plus tôt à ta question car au départ je croyais que tu demandais sous Vista. Paraît que c'est différent mais je ne sais pas encore. Je ne me sens pas pressé de l'installer :)