Ограничить расширение оболочки Windows папкой / диском - PullRequest
1 голос
/ 10 мая 2009

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

Можно ли зарегистрировать расширение оболочки таким образом, чтобы оно использовалось только для файлов определенной папки / диска (в моем случае это внешний жесткий диск) и оставляет обработку jpgs в другой папке расширению оболочки по умолчанию для Windows

С уважением,

Себастьян

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

В этой статье перечислены способы регистрации расширения оболочки: http://msdn.microsoft.com/en-us/library/cc144096(VS.85).aspx.

Вы должны иметь возможность создать системную папку на внешнем жестком диске, содержащую файл desktop.ini, который указывает на ваше расширение.

В качестве альтернативы, внутри самого расширения вы можете проверить путь и не выполнять дополнительную логику, если он не находится в указанном вами месте.

0 голосов
/ 10 мая 2009

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

В реестре расширения оболочки связаны с типами файлов в ключе CLASSES_ROOT. Весь процесс разработан, чтобы быть ориентированным на файл. Таким образом, разрешение типа файла - лучшее, что вы можете получить. Глядя на это, все остальное (например, путь / диск / тип диска для данного файла) будет слишком нестабильным, чтобы сделать обоснованной регистрацию расширения.

...