2016-05-18 3 views
2

Я хотел бы избавиться от крайне раздражающего поведения Windows7, и я думаю, что нет другого способа, кроме переопределения окон программно.Измените окно предварительного просмотра окна 7, чтобы отобразить подкаталоги папки, а не большой пустой кадр.

Поскольку я комфортабельный с Дельфи, и это также может многое сделать в системе программирования я имею в виду использование этого языка, но давайте объясним первый:

В окнах 7 File Explorer есть панель предварительного просмотра (как правило, расположенный в правой части окна любого исследователя), который показывает содержимое текущего выбранного файла, если он поддерживается (офисные файлы, изображения, html и текстовые файлы).

Пример:

Usefull preview pane

Но некорректное поведение этой панели является то, что при выборе папки, панель остается совершенно пустым:

Empty preview pane

Я хотел бы, чтобы отобразите содержимое папки selectd (значок и имя файла и папок), так что нет необходимости открывать его.

Для этого я считаю, что мне приходится иметь дело с windows dll. Я знаю, что мне придется искать более глубоко об этом, но я хотел бы, чтобы какой-нибудь опытный пользователь сказал мне, если это определенно невозможно, или, если возможно, начать изучение или как продолжить. Также любые другие советы приветствуются.

Если я сделаю это, я был бы рад поделиться им через Интернет.

+1

Ни в коем случае. Обработчики предварительного просмотра могут быть связаны только с файлами. –

+0

@DenisAnisimov: Обработчик предварительного просмотра зарегистрирован в ProgID, а в ProgID 'Folder' есть подразделение' shellex' для регистрации расширений оболочки для папок. Я зарегистрировал * файл * обработчик предварительного просмотра (для файлов .doc) в ProgID 'Folder', и Windows Explorer сразу же запустил паузу в течение нескольких секунд, когда я нажал на папку с открытой панелью предварительного просмотра, и вместо этого предварительный просмотр был пустым для показа «Нет предварительного просмотра». Затем я удалил обработчик, и пауза исчезла, и в предпросмотре появилось «Без предварительного просмотра». Настолько ясно, что Windows Explorer * может * отображать превью для папок. –

ответ

3

Создание пользовательского Preview Handler COM объект и register it для HKEY_CLASSES_ROOT\Folder ProgID в реестре:

HKEY_CLASSES_ROOT\Folder\shellex\{8895b1c6-b41f-4c1c-a562-0d564250836f} 
(Default) = [REG_SZ] "your CLSID here" 

Ваш обработчик должен осуществить IInitializeWithFile или IInitializeWithItem, а не IInitializeWithStream, так что он может получить путь/IShellItem выбранного папка. Затем вы можете перечислить содержимое этой папки и отобразить ее в вашем реализованном пользовательском интерфейсе IPreviewHandler по мере необходимости.

+0

Звучит неплохо. Мне просто нужно выяснить, как реализовать COM-объект на Lazarus. благодаря – nico

 Смежные вопросы

  • Нет связанных вопросов^_^