Как сказать проводнику Windows не запрашивать сведения о файле и эскизы в определенной папке? - PullRequest
8 голосов
/ 22 сентября 2010

Есть ли способ (с помощью расширения оболочки или настройки реестра) сообщить Windows Explorer, что он не должен читать файлы в отображаемой папке для извлечения метаданных или создания миниатюр?

Проблема в том, что когда пользователь переходит к папке, проводник Windows пытается прочитать все файлы в папке и извлечь из них определенные метаданные. Если носитель работает медленно, это занимает много времени и приводит к ненужной загрузке файловой системы. Это особенно верно в случае миниатюр, когда весь графический файл читается.

Я ищу способы сделать это (ограничить проводник) в коде, поэтому «не использовать режим миниатюр» не является приемлемым ответом :).

Upd: настройки для пользователя не будут работать, к сожалению, потому что мы, как поставщик дисков, можем иметь дело только с нашим собственным диском (и пользователь может захотеть иметь отдельные настройки для обычных дисков и виртуальных дисков) , Я считаю, что должен быть какой-то способ «объяснить» ОС, что диск работает медленно.

Может быть, есть какой-то IRP на уровне драйвера, который нам нужно обработать, чтобы сообщить ОС, что среда медленная?

Ответы [ 4 ]

6 голосов
/ 01 октября 2010

Есть ли способ (через расширение оболочки или настройки реестра) рассказать винде Explorer, что он не должен читать файлы в отображаемой папке , чтобы извлекать метаданные или создавать эскизы?

Не то, чтобы я знал об этом, но в зависимости от приоритетов относительно описанных вами вариантов использования. может иметь еще два варианта приблизительный желаемый результат:

через групповую политику

Обратите внимание, что это существенно расширяет / детализирует связанный с сетевой папкой аспект ответа Фреда, который вы отклонили в своем обновлении; однако вы заявляете, что можете развернуть расширения оболочки или параметры реестра, и следующие две групповые политики просто выполняют последнюю с помощью административных средств:

User Configuration -> Administrative Templates -> Windows Components ->  Windows Explorer:

Turn off the display of thumbnails and only display icons **on network folders**
Turns off the caching of thumbnails in hidden thumbs.db files.

Это сводится к следующим настройкам реестра:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer]
"DisableThumbnailsOnNetworkFolders"=dword:00000001
"DisableThumbsDBOnNetworkFolders"=dword:00000001

Конечно, это все еще не для каждой папки , но, по крайней мере, ограничено сетевыми папками и игнорирует обычные диски и виртуальные диски.

через хакерский обходной путь

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

Исходя из собственного ответа Криса В. Реаса на Как я могу подавить эти надоедливые файлы Thumbs.db в Windows Vista и Windows 7? :

Также стоит знать: в Vista и Windows 7 Thumbs.db применяется только к сетевым папкам. Для локальных папок Vista и Windows 7 вместо этого сохраняют информацию кэша миниатюр в базу данных в локальной папке по адресу "% userprofile% \ AppData \ Local \ Microsoft \ Windows \ Explorer "

Продолжая оттуда, Wil утверждает, что следующее потенциально умное решение работает для каждой папки :

Перейдите на диск и создайте файл с именем thumbs.db (в блокноте или в любом другом месте), затем измените права доступа к файлу для всех (включая СИСТЕМУ), чтобы запретить все.

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

Удачи!

1 голос
/ 01 октября 2010

Это может быть полный отказ от ответа в зависимости от ваших потребностей, но как насчет хранения файлов без расширений файлов, из которых ОС хочет сделать миниатюры?Назовите его file.jpg.abc, и он наверняка не будет читать эскизы.

1 голос
/ 25 сентября 2010

Никогда не видел, чтобы это делалось для каждой папки, но если вы хотите ограничить миниатюры для каждого пользователя или для всех пользователей, вы можете использовать параметры реестра или групповую политику: http://www.sevenforums.com/tutorials/11738-thumbnail-previews-enable-disable.html

1 голос
/ 25 сентября 2010

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

Сценарий изменяет значение в разделе реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\. Я полагаю, вы могли бы найти что-то похожее в этом ключе для других метаданных. ShowInfoTip звучит многообещающе. Может быть соответствующая информация в других соседних ключах.

...