Puis-je modifier globalement la boîte de dialogue «Rechercher un dossier» du système?

15

Pour autant que je sache, tout le monde déteste la boîte de dialogue "Rechercher un dossier":

Parcourir la boîte de dialogue du dossier

Cette boîte de dialogue est toujours trop petite, se souvient rarement bien des emplacements, et pire encore: vous oblige à naviguer sur tout votre ordinateur en utilisant une arborescence fastidieuse.

Maintenant, pour être juste, certains des problèmes sont probablement liés à la façon dont les applications appellent le contrôle - ne définissant pas une taille ou un répertoire par défaut, etc. Mais le problème concernant le contrôle fastidieux de l'arborescence demeure.

Existe-t-il un moyen de personnaliser votre installation Windows pour utiliser un contrôle différent? De préférence, une application / installateur qui le fait pour vous en toute sécurité, mais déposer une DLL compatible ou une technique similaire serait également acceptable.

Ou sommes-nous coincés avec ce terrible contrôle pour toujours?

Chris Phillips
la source
La plupart des plaintes que vous avez sont des options contrôlées par le logiciel qui l'utilise. Vous devrez remplacer le shell entier pour le changer.
Ramhound
1
C'est une mauvaise excuse pour une interface utilisateur.
aliteralmind
2
Cette terrible UX m'ennuie à chaque fois.
Ryan

Réponses:

1

réponse courte, oui vous êtes coincé avec ça

longue réponse:

la fonction que vous mentionnez est la fonction SHBrowseForFolder () dans Shell32.dll. Cette fonction est liée et exécutée à partir de milliers de programmes, donc à moins que vous n'écriviez un programme spécifique pour lequel vous souhaitez une boîte de dialogue modifiée, ce que vous désirez ne sera pas possible sans modifier ou remplacer shell32.dll (qui est à toutes fins utiles, au-delà de la portée de ce site).

voici la documentation de la fonction: http://msdn.microsoft.com/en-us/library/windows/desktop/bb762115%28v=vs.85%29.aspx

si vous voulez simplement le changer dans un programme que vous écrivez, recherchez les spécificités de votre langague / plateforme pour trouver des tutoriels (ils sont copieux).

Frank Thomas
la source
2
Je voulais juste demander, il existe une version de la boîte de dialogue qui est légèrement plus utilisable car elle vous permet au moins de copier / coller un chemin. Est-ce une boîte de dialogue personnalisée, ou peut-être SHBrowseForFolder () lui-même avec certains paramètres, ou existe-t-il une fonction distincte pour cela?
Karan
@Karan, d'après ce que je vois dans la doc, si vous définissez le paramètre d'entrée lpbi des fonctions pour pointer vers l'adresse d'une instance de BROWSEINFO dont l'UFLAGS est défini sur 0x00000010, la zone d'édition apparaît. malheureusement, puisqu'il s'agit d'un paramètre, seul le développeur a le choix de l'afficher ou non application par application.
Frank Thomas
Merci et oui, il semble que l'indicateur BIF_EDITBOX doit être défini. "seul le développeur a le choix de le montrer ou non" - Mais bien sûr. Je n'impliquais pas que c'était quelque chose que l'utilisateur final pouvait espérer faire avec le binaire.
Karan