Dans Labview 2012, Windows 7 OS, comment les permissions d’écriture des utilisateurs peuvent-elles être vérifiées?

Lors du développement du code Labview pour un système d’exploitation Windows 7, il est devenu évident que le système sur lequel le logiciel est utilisé peut être configuré pour ne pas autoriser un access en écriture commun à un dossier sélectionné. Si le dossier sélectionné ne dispose pas des droits d’écriture, le code doit inviter l’utilisateur à sélectionner un autre dossier.

Jusqu’à présent, j’ai Labview 2012 et j’ai trouvé le bloc Obtenir les permissions sous les fonctions de fichier avancées. Est-ce la meilleure façon de déterminer si un utilisateur a une permission en écriture? Existe-t-il un meilleur moyen de tester l’autorisation d’écriture?

Obtenir des permissions ne renvoie pas de résultats précis sous Windows.

Je viens de l’essayer sur certains sous-dossiers de C:\Users sur mon ordinateur Windows 7 et il retourne 111111111 (binary) pour tous les dossiers utilisateur – indiquant que je devrais avoir un access en lecture et écriture – même si Windows ne me laissera pas écrire à tout dossier d’utilisateur autre que le mien.

Pendant ce temps, C:\Users\Public renvoie 101101101 , ce qui implique aucun access en écriture, mais je peux écrire dans ce dossier.

Si je comprends bien les permissions de fichiers et de dossiers Windows dans un environnement réseau, cela peut devenir très complexe, avec différentes stratégies appliquées à différents endroits, et la meilleure façon de savoir si vous pouvez écrire dans un emplacement est d’essayer l’erreur.

Certaines personnes essaient simplement de créer un fichier factice, de gérer l’erreur et de la notifier à l’utilisateur si c’est le cas (et de supprimer le fichier fictif si la création réussit).

S’il vous plaît noter que ce n’est pas un problème lié à Labview: jetez un oeil ici sur Stackoverflow et sur un thread que je viens de commencer sur NI Labview Forum .