Чи можу я змінити діалогове вікно «Пошук папок» у глобальному масштабі?


15

Наскільки я знаю, всі ненавидять діалогове вікно "Пошук папки":

переглянути діалогове вікно папок

Цей діалог завжди занадто малий, рідко добре запам'ятовує місця та найгірше: змушує вас орієнтуватися на весь комп'ютер за допомогою втомливої ​​структури дерева.

Тепер, якщо справедливо, деякі проблеми, ймовірно, пов’язані з тим, як додатки посилаються на елемент керування - не встановлення розміру чи каталогів за замовчуванням тощо. Але проблема щодо стомленого керування деревом залишається.

Чи є спосіб налаштувати інсталяцію Windows для використання іншого керування? Переважно додаток / інсталятор, який робить це для вас безпечно, але потрапляння в сумісну DLL або подібну техніку також буде добре.

Або ми назавжди застрягли з цим жахливим контролем?


Більшість ваших скарг - це варіанти, якими керує програмне забезпечення, яке його використовує. Вам потрібно буде замінити всю оболонку, щоб змінити її.
Рамхаунд

1
Це поганий привід для користувальницького інтерфейсу.
aliteralmind

2
Цей страшний UX дратує мене кожен раз.
Райан

Відповіді:


1

коротка відповідь, так, ви з цим застрягли

довга відповідь:

функція, яку ви згадуєте, це функція SHBrowseForFolder () в Shell32.dll. Ця функція пов'язана і виконується з тисяч програм, тому, якщо ви не пишете певну програму, для якої ви хочете змінити діалогове вікно, те, що ви хочете, буде неможливим без зміни або заміни shell32.dll (що стосується всіх цілей і цілей, виходить за межі цього веб-сайту).

ось документація для функції: http://msdn.microsoft.com/en-us/library/windows/desktop/bb762115%28v=vs.85%29.aspx

якщо ви просто хочете змінити його в програмі, про яку ви пишете, знайдіть специфіку вашого мови / платформи, щоб знайти підручники (вони багаті).


2
Просто хотів запитати, є версія діалогового вікна, яка є дещо кориснішою, оскільки принаймні дозволяє скопіювати / вставити шлях. Це налаштований діалог або, можливо, сам SHBrowseForFolder () з деякими параметрами, чи є для нього окрема функція?
Каран

@Karan, з того, що я бачу в документі, якщо ви встановите вхідний параметр lpbi функцій вказувати на адресу екземпляра BROWSEINFO, для UFLAGS якого встановлено 0x00000010, з'явиться вікно редагування. на жаль, оскільки його параметр, тільки розробник може вибрати його відображати чи не на основі програми за додатком.
Френк Томас

Дякую і так, схоже, прапор BIF_EDITBOX потрібно встановити. "тільки розробник може вибрати це показати чи ні" - Але, звичайно. Я не мав на увазі, що кінцевий користувач міг би сподіватися зробити це з бінарним файлом.
Каран
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.