PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Modifier attributs répertoire par programmation
Modifier attributs répertoire par programmation
Débuté par CmoiAlain, 20 déc. 2019 17:10 - 8 réponses
Posté le 20 décembre 2019 - 17:10
Bonjour,

Sous Windows 10 et dans le cadre de la gestion des attributs d'un répertoire, je fais:
- fRepCrée("C:\Test") afin de créer le répertoire
- fRépertoireExiste("C:\Test") me renvoi un "1" indiquant que le répertoire a bien été créé
- fRepDroit("C:\Test") me renvoi un "2" indiquant que le répertoire en lecture-écriture (ancienne commande)
- fRepAttribut("C:\Test") me renvoi un "D" indiquant que le répertoire est un répertoire ou un sous-répertoire.

Bref, le répertoire existe bien et est en lecture-écriture.

Maintenant je modifie par programmation ses attributs par la commande: fRepAttribut(Test, R) ce qui passe le répertoire en lecture uniquement.
Je refais un fRepAttribut("C:\Test") qui m'indique alors que les attributs sont maintenant "DR" donc le répertoire est bien passé en lecture seulement.
Le soucis est que depuis l'explorateur de fichiers Windows je peux changer le nom du répertoire et ajouter/supprimer des fichiers.

Étrange non, ai-je rater quelque chose...

Merci de votre aide.

Alain
Membre enregistré
3 983 messages
Popularité : +227 (347 votes)
Posté le 21 décembre 2019 - 01:44
Bonjour,
Une solution pour contourner cela serait de faire ça à l'ancienne, via la commande ATTRIB et LanceAppli, en surchargeant éventuellement la fonction

--
Il y a peut être plus simple, mais, ça tourne
Message modifié, 21 décembre 2019 - 01:50
Posté le 21 décembre 2019 - 09:12
Bonjour,

Voroltinquo, merci de ta réponse..
Normalement les commandes propre à WD devraient suffire non, sinon elles ne servent à rien, puisque inopérantes, ou alors elles sont là juste pour retourner les information, mais dans ce cas ce n'est absolument pas précisé dans la doc...

La commande ATTRIB est propre à Windows/DOS si je ne me trompe pas, mais alors comment puis-je la lancer depuis WD
en "mode silencieux" avec un LanceAppli(cmd.exe) suivi des commandes ATTRIB, c'est ça ? C'est un fichier .bat ça ?

Aurais tu un exemple STP.

Alain
Membre enregistré
3 983 messages
Popularité : +227 (347 votes)
Posté le 22 décembre 2019 - 08:12
Ce n'est pas un .bat, c'est un .exe.
Un exemple :
LanceAppli("Attrib.exe +R C:\tmp1\toto.txt")

met toto.Txt en read only (-R autorise l'écriture.)
Pour plus d'info : https://docs.microsoft.com/fr-fr/windows-server/administration/windows-commands/attrib

--
Il y a peut être plus simple, mais, ça tourne
Posté le 22 décembre 2019 - 11:01
Merci Voroltinquo

Avec ta commande
LanceAppli("Attrib.exe +R C:\tmp1\toto.txt")
cela fonctionne parfaitement.

La commande WD pour modifier les attributs https://doc.pcsoft.fr/fr-FR/?3036040
fRepAttribut(Chemin du répertoire , Attributs du répertoire)
ne sers à rien car inopérante (en projet WD non compilé, a voir...)

Par contre lors de mes tests, je me suis aperçu que malgré le passage par programmation, d'un répertoire/fichier en lecture seul, il est toujours possible à l'utilisateur de modifier les attributs/droits et ce très simplement depuis l’explorateur de fichiers Windows en faisant un clic droit sur le fichier + propriétés + sécurité + utilisateur + modifier.

Une idée pour protéger "réellement" un fichier, hors cryptage ?

Bon dev
Alain
Membre enregistré
3 983 messages
Popularité : +227 (347 votes)
Posté le 23 décembre 2019 - 03:04
CmoiAlain a écrit :
Une idée pour protéger "réellement" un fichier, hors cryptage ?

Il y a une option dans l'explorateur de fichier pour "afficher/ne pas afficher" les fichiers cachés, idem pour les fichier systèmes.
En réglant ces 2 options à"ne pas afficher", et en passant les fichier à caché(+R), système (+S) on limite la casse.

--
Il y a peut être plus simple, mais, ça tourne
Membre enregistré
165 messages
Popularité : +12 (12 votes)
Posté le 23 décembre 2019 - 07:00
Bonjour;

En affichant les propriétés d'un dossier que je viens de créer avec l'explorateur sous Windows 10





(s'applique uniquement aux fichiers du dossier)

Bon Dev.
Membre enregistré
3 983 messages
Popularité : +227 (347 votes)
Posté le 23 décembre 2019 - 07:55
C'est justement le problème, l'utilisateur peut avoir accès à ces réglages

--
Il y a peut être plus simple, mais, ça tourne
Posté le 23 décembre 2019 - 09:41
Bonjour,

Merci de vos réponses.

Sur le fond et quelque soit la façon de faire, le constat s'impose, on ne peux pas vraiment s'assurer de la protection d'un fichier (hors cryptage).
Je vais plutôt m'orienter vers les clés de registre qui m'apparaissent, en termes de manipulations, moins accessibles à "l'utilisateur non avertis".

Bon dev
Joyeux Noël à tous

Alain