Как создать расширенное (настраиваемое) свойство файла в Windows?

У нас есть собственный формат файла, в который встроен product-code.

Я только начинаю идти по пути «разрешить конечному пользователю сортировать / фильтровать по product-code при открытии файла».

Самый простой подход для нас может заключаться в том, чтобы просто иметь еще один раскрывающийся список в нашем настраиваемом диалоговом окне открытия файла, в котором можно выбрать product-code для фильтрации.

Однако я думаю, что для конечного пользователя было бы более полезно, если бы мы могли представить эту информацию в виде столбца в подробном представлении для этого типа файла - точно так же, как имя, дата изменения, тип, размер и т. Д. Также являются подробными сведениями. свойства типа файла (или, возможно, общие для всех файлов).

Я смутно понимаю, что XP и предыдущие ОС Windows встраивали какие-то метаданные, подобные этому, в альтернативный поток данных в NTFS. Однако, начиная с Vista, Microsoft прекратила использование альтернативных потоков данных из-за их зависимости от NTFS и, следовательно, их уязвимости (т. Е. Невозможно отправить через прикрепление файла, невозможно перейти на флэш-накопитель в формате FAT и т. Д.)

То, что мне нужно знать, но еще не выяснил:

  1. Возможно ли / Практично ли / как создать настраиваемое расширенное свойство файла для нашего типа файла, которое выражает product-code в оболочке Windows, чтобы его можно было увидеть в проводнике Windows (и, следовательно, в диалоговых окнах файлов)?
  2. Если это выполнимо, то как настроить все так, чтобы столбец product-code отображался по умолчанию для папок, содержащих наш тип файла.

Может ли кто-нибудь указать мне на хорошую отправную точку в вышеизложенном? Нам, конечно, не нужно добиваться этого путем публикации настраиваемого расширенного свойства файла, но это кажется разумным подходом, поскольку нет никакого способа измерить затраты на этот маршрут.

Если у вас есть разумные альтернативные подходы к проблеме, меня тоже заинтересуют!


Только что нашел: http://www.codeproject.com/Articles/830/The-Complete-Idiot-s-Guide-to-Writing-Shell-Extens

ДЕРЬМО! Похоже, я очень опаздываю на банкет, а MS уже удалила эту функциональность из своей оболочки: http://xpwasmyidea.blogspot.com/2009/10/evil-conspiracy-behind-customizable.html


person Mordachai    schedule 13.11.2012    source источник
comment
Да, Microsoft удалила эту функцию в Vista. Сколько пользователей вам нужно поддерживать? Существуют различные сторонние файловые менеджеры (в том числе один, который производит моя компания, который я не буду называть, поскольку это было бы немного вопиющим), которые по-прежнему поддерживают интерфейс IColumnProvider, поэтому в зависимости от ваших потребностей вы можете указать использование сторонний файловый менеджер в качестве решения для ваших пользователей.   -  person Jonathan Potter    schedule 14.11.2012
comment
Вот способ Vista: Windows Система собственности   -  person Raymond Chen    schedule 12.11.2014


Ответы (1)


Безусловно, самый простой подход к разработке расширения оболочки - использовать библиотеку, созданную для этой цели.

Я могу порекомендовать EZShellExtension, потому что раньше я использовал его для добавления столбцов и эскизов / предварительного просмотра для пользовательского формата файла для нашей компании.

person GoodLuckDuck    schedule 13.11.2012