Posso modificare la finestra di dialogo "Cerca cartella" a livello globale?


15

Per quanto ne so, tutti odiano la finestra di dialogo "Cerca cartella":

cerca la finestra di dialogo delle cartelle

Questa finestra di dialogo è sempre troppo piccola, raramente ricorda bene le posizioni e, peggio ancora: ti costringe a navigare su tutto il tuo computer usando una noiosa struttura ad albero.

Ora, per essere onesti, è probabile che alcuni dei problemi riguardino il modo in cui le app invocano il controllo, non l'impostazione di una dimensione o una directory predefinita, ecc. Ma il problema relativo al noioso controllo dell'albero rimane.

Esiste un modo per personalizzare l'installazione di Windows per utilizzare un controllo diverso? Preferibilmente un'app / programma di installazione che lo fa in modo sicuro, ma anche l'inserimento di una DLL compatibile o una tecnica simile andrebbe bene.

O siamo bloccati per sempre con questo controllo terribile?


La maggior parte dei reclami che hai sono opzioni controllate dal software che lo utilizza. Dovresti sostituire l'intera shell per cambiarla.
Ramhound,

1
È una scusa per un'interfaccia utente.
aliteralmind,

2
Questa terribile UX mi dà fastidio ogni volta.
Ryan,

Risposte:


1

risposta breve, sì, ne sei bloccato

risposta lunga:

la funzione di cui si parla è la funzione SHBrowseForFolder () in Shell32.dll. Questa funzione è collegata ed eseguita da migliaia di programmi, quindi a meno che non si stia scrivendo un programma specifico per il quale si desidera una finestra di dialogo modificata, ciò che si desidera non sarà possibile senza modificare o sostituire shell32.dll (che è a tutti gli effetti, oltre lo scopo di questo sito).

ecco la documentazione per la funzione: http://msdn.microsoft.com/en-us/library/windows/desktop/bb762115%28v=vs.85%29.aspx

se vuoi semplicemente cambiarlo all'interno di un programma che stai scrivendo, cerca i dettagli della tua lingua / piattaforma per trovare tutorial (sono copiosi).


2
Volevo solo chiedere, c'è una versione della finestra di dialogo che è leggermente più utilizzabile poiché ti consente almeno di copiare / incollare un percorso. È una finestra di dialogo personalizzata, o forse SHBrowseForFolder () stesso con alcuni parametri, o esiste una funzione separata per esso?
Karan,

@Karan, da quello che sto vedendo nel documento, se imposti le funzioni lpbi input parametro per puntare all'indirizzo di un'istanza BROWSEINFO il cui UFLAGS è impostato su 0x00000010, apparirà la casella di modifica. sfortunatamente, dal momento che è un parametro, solo lo sviluppatore ha la possibilità di mostrarlo o meno app per app.
Frank Thomas,

Grazie e sì, sembra che il flag BIF_EDITBOX debba essere impostato. "solo lo sviluppatore ha la possibilità di mostrarlo o meno" - Ma ovviamente. Non intendevo dire che questo era qualcosa che l'utente finale poteva sperare di fare con il binario.
Karan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.