Bonjour,
Les boites de dialogue Open / Save / Selection permettent de parcourir l'arborescence du système de fichiers.
Est-il possible de limiter ce parcours de façon STRICTE à une « sous-arborescence ».
Pour la sélection d'un dossier, BROWSEINFO offre cette possibilité, me semble-t'il via pidlRoot :
L'utilisateur ne peut donc pas parcourir au-delà de la location fourni. C'est bien cela ?A PIDL that specifies the location of the root folder from which to start browsing. Only the specified folder and its subfolders in the namespace hierarchy appear in the dialog box. This member can be NULL; in that case, the namespace root (the Desktop folder) is used.
Pour Open / Save, il y a bien la structure OPENFILENAME via lpstrInitialDir : il définit le répertoire initial mais l'utilisateur peut remonter l'arborescence s'il le désire. Dans la même structure, le flag accepté OFN_NOCHANGEDIR ne me paraît pas significatif dans ce que je recherche.
Pour bien fixer les choses, le problème n'est pas le choix fait par l'utilisateur, si le path résultant est en dehors de l'arborescence donnée, l'appli gère le cas.
Non, la demande est : l'utilisaeur ne doit en aucun cas pouvoir parcourir l'arborescence à un niveau supérieur.
Si l'arbo de base est : c:\\foo\bar, l'utilisateur ne doit même pas savoir (voir/parcourir/...) qu'il y a un dossier "foo" au-dessus. Il peut parcourir les sous-dossiers, il ne peut pas remonter au-delà. Une sorte de sandbox.
Si je suis clair dans ma demande ...
Partager