Accès au dossiers...

Résolu
cacalex Messages postés 69 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 avril 2008 - 29 sept. 2005 à 17:02
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 - 30 sept. 2005 à 15:55
Très simple et très complexe;

Mon programme "scan" les dossiers du disque dur, et dresse une liste des fichiers d'un type prédeffini...

Est-ce qu'il existe un moyen de savoir si l'usager qui execute le programme à les droits d'accès au dossier en cours sans passer par la gestion d'exeption (AuthorizationExeption, si ma mémoire est bonne...)

C'est à dire, savoir avant d'acceder au dossier si j'ai le droit d'y acceder ?

La gestion d'exeption ralentie beaucoup l'execution du prog...

Merci !

À travers le miroir se trouve ma vraie nature...
Dans le miroir se trouve mon reflet...

7 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
30 sept. 2005 à 15:21
J'utilise try...catch et personnelement je n'ai pas trouvé que cela ralentissait ma recherche
Voici la fonction que j'utiliser pour tester l'accès au dossier
Mais je ne pense pas que l'ont puisse savoir à l'avance si tu as accès à ton dossier, tu es obligé d'y accéder pour le savoir.



Public
Function IsAccessDenied(
ByVal DirectoryName
As
String)
As
Boolean



Dim shtCnt
As
Short



Try


shtCnt =
My.Computer.FileSystem.GetDirectories(DirectoryName, FileIO.SearchOption.SearchTopLevelOnly).Count :
Return
False


shtCnt = Directory.GetDirectories(DirectoryName,
"*", 0).Length



Catch ex
As Exception



Return
True



End
Try



End
Function


Si la réponse te conviens merci de l'accepter
3
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
30 sept. 2005 à 14:20
vb.net ?
0
cacalex Messages postés 69 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 avril 2008
30 sept. 2005 à 14:41
Oui, vb.net :)

J'Ai oublié de préciser, désolé !!!

À travers le miroir se trouve ma vraie nature...
Dans le miroir se trouve mon reflet...
0
cacalex Messages postés 69 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 avril 2008
30 sept. 2005 à 14:42
Je rajouterais même framework 1.1 :)

À travers le miroir se trouve ma vraie nature...
Dans le miroir se trouve mon reflet...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
30 sept. 2005 à 15:23
arf enlève shtCnt = My.Computer.FileSystem.GetDirectories(DirectoryName, FileIO.SearchOption.SearchTopLevelOnly).Count :
Return
False
0
cacalex Messages postés 69 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 avril 2008
30 sept. 2005 à 15:32
Merci Willi !

C'est à tester... J'utilisais sensiblement la même structure, mais parfois, lors de Scan de disque dur en entier, j'avais un delais entre deux à trois secondes lorsque le dossier étais inacessible à l'usager en cours, comme "System volume information", et les dossier de "documents & settings"...

Si tu me dis qu'il n'y a pas moyen de savoir à l'avance, sans "tester" l'accès au dossier, je vais m'y résoudre....

J'ai vu quelques code qui vérifient les ACL d'un dossier, mais c'est vachement fastitieux...

Encore merci de ta réponse :)

À travers le miroir se trouve ma vraie nature...
Dans le miroir se trouve mon reflet...
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
30 sept. 2005 à 15:55
Je me suis servis de cette fonction pour tout mes moteurs de recherche. que se soit de fichiers , de dossiers vide...
va voir ma source http://www.vbfrance.com/code.aspx?ID=33606 si cela peut t'aider je n'utilise pas la récursivité dans cette source.
Regarde la capture je ne trouve pas que 7 secondes pour parcourir tout le disque c à la recherche des dossiers vide soit énormes ! (j'ai environ 6000 dossiers et sous-dossiers sur c)

Mais bon c'est peut-etre l'effet Framework 2 aussi je sais pas
0
Rejoignez-nous