1

Проблема:

Я хочу установить для папки по умолчанию значение «Подробнее» для всех папок на моем 64-разрядном компьютере с Windows 8.1 Pro. Я частично решил эту проблему следующим образом:

Настройка просмотра папок по умолчанию (для большинства папок)

  1. Удалите следующие ключи реестра.

    HKEY_CURRENT_USER\ Программное обеспечение \ Классы \ Локальные настройки \ Программное обеспечение \ Microsoft \ Windows \ Shell \ BagMRU

    HKEY_CURRENT_USER\ Программное обеспечение \ Классы \ Локальные настройки \ Программное обеспечение \ Microsoft \ Windows \ Shell \ Bags

  2. Добавьте следующие записи реестра.

    [HKEY_CURRENT_USER\ Программное обеспечение \ Классы \ Локальные настройки \ Программное обеспечение \ Microsoft \ Windows \ Shell \ Bags]

    [HKEY_CURRENT_USER\ Программное обеспечение \ Классы \ Локальные настройки \ Программное обеспечение \ Microsoft \ Windows \ Shell \ Bags \ AllFolders]

    [HKEY_CURRENT_USER\ Программное обеспечение \ Классы \ Локальные настройки \ Программное обеспечение \ Microsoft \ Windows \ Shell \ Bags \ AllFolders \ ComDlg]

    [HKEY_CURRENT_USER\ Программное обеспечение \ Классы \ Локальные настройки \ Программное обеспечение \ Microsoft \ Windows \ Shell \ Bags \ AllFolders \ ComDlg \ {5C4F28B5-F869-4E84-8E60-F11DB97C5CC7}]

    "Mode"=dword:00000004
    "Vid"="{137E7700-3573-11CF-AE69-08002B2E1262}"
    

    [HKEY_CURRENT_USER\ Программное обеспечение \ Классы \ Локальные настройки \ Программное обеспечение \ Microsoft \ Windows \ Shell \ Bags \ AllFolders \ ComDlgLegacy]

    [HKEY_CURRENT_USER\ Программное обеспечение \ Классы \ Локальные настройки \ Программное обеспечение \ Microsoft \ Windows \ Shell \ Bags \ AllFolders \ ComDlgLegacy \ {5C4F28B5-F869-4E84-8E60-F11DB97C5CC7}]

    "Mode"=dword:00000004
    "Vid"="{137E7700-3573-11CF-AE69-08002B2E1262}"
    

    [HKEY_CURRENT_USER\ Программное обеспечение \ Классы \ Локальные настройки \ Программное обеспечение \ Microsoft \ Windows \ Shell \ Bags \ AllFolders \ Shell]

    "FolderType"="NotSpecified"
    

    [HKEY_CURRENT_USER\ Программное обеспечение \ Классы \ Локальные настройки \ Программное обеспечение \ Microsoft \ Windows \ Shell \ Bags \ AllFolders \ Shell \ {5C4F28B5-F869-4E84-8E60-F11DB97C5CC7}]

    "Mode"=dword:00000004
    "Vid"="{137E7700-3573-11CF-AE69-08002B2E1262}"
    

Обратите внимание: если вы попробуете это, вам нужно будет перезапустить explorer.exe, чтобы настройки представления папок вступили в силу:

taskkill /f /im explorer.exe
start explorer.exe

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

Во всяком случае, как я понимаю эти записи (и, пожалуйста, поправьте меня, если я не прав):

  • Shell/ComDlg/ComDlgLegacy означают, что я хочу, чтобы эти настройки применялись к Проводнику и к диалоговым окнам файлов.

  • {5C4F28B5-F869-4E84-8E60-F11DB97C5CC7} - это общий шаблон папки, который вы можете найти по адресу:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{5c4f28b5-f869-4e84-8e60-f11db97c5cc7}

  • {137E7700-3573-11CF-AE69-08002B2E1262} является представлением сведений. Кажется, вы должны указать и идентификатор представления, и режим, а для представления "Подробности" соответствующее значение режима равно 4. Смотрите эту статью ; к сожалению, у меня нет более строгой ссылки (например, от Microsoft).

  • "FolderType" = "NotSpecified" отключает автоматическое обнаружение типа папки, что, по-видимому, мешает этому решению.

Насколько я могу судить, это относится ко всем физическим папкам.

Известные / Специальные Папки

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

Специальные папки в Проводнике

Вот список известных идентификаторов папок.

На вашем компьютере вы можете найти специальные папки, перечисленные в:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions

Вы также можете просматривать специальные папки на вашем компьютере с помощью этого инструмента.

Я хочу установить вид папок для всех специальных папок, как я сделал для всех физических папок. Тем не менее, я не могу сказать, как Windows решает, какой вид папки применить к специальной папке.

Вот что я знаю. Предположим, я открываю специальную папку Libraries\Documents, которая имеет GUID FolderDescription {7B0DB17D-9CD2-4A93-9733-46CC89022E7C}. Проводник показывает эту папку в режиме просмотра больших значков, что противоречит представлению, которое я пытался установить для всех папок ранее.

Когда я обновляю regedt32, я вижу, что Windows добавила следующие записи реестра:

[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\1]

[HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\1\Shell]

    "TV_FolderType"="{FBB3477E-C9E4-4B3B-A2BA-D3F5D3CD46F9}"
    "TV_TopViewID"="{82BA0782-5B7A-4569-B5D7-EC83085F08CC}"
    "TV_TopViewVersion"=dword:00000001

Значение TV_FolderType относится к другому шаблону папки, например шаблону общей папки, который мы видели ранее. Его зовут Документы.Библиотека и ее можно найти по адресу:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{fbb3477e-c9e4-4b3b-a2ba-d3f5d3cd46f9}

Под этой записью я вижу ключ с именем TopView, а под TopView - шесть ключей с именами GUID, один из которых соответствует значению TV_TopViewID, которое мы видели ранее:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\\{fbb3477e-c9e4-4b3b-a2ba-d3f5d3cd46f9}\TopViews\\{82ba0782-5b7a-4569-b5d7-ec83085f08cc}]
    "ColumnList"="prop:0(34)System.ItemNameDisplay;0System.DateModified;0System.ItemTypeText;0System.Size;1System.DateCreated;1System.ItemFolderPathDisplay;1System.Author;1System.Category;1System.Keywords;1System.Title"
    "Order"=dword:00000001
    "SortByList"="prop:System.ItemNameDisplay;-System.DateModified"
    "GroupBy"="System.ItemSearchLocation"
    "LogicalViewMode"=dword:00000001
    "PrimaryProperty"="System.ItemSearchLocation"
    "Name"="@shell32.dll,-34817"

Значение "Порядок" = 1 предполагает, что это представление было выбрано, поскольку оно заняло первое место в этом шаблоне папки.

Я не знаю, как Windows решает применить представление папки "Большие значки" на основе этой информации "TopView". Я искал в реестре «{82ba0782-5b7a-4569-b5d7-ec83085f08cc}», но он отображается только как значение TV_TopViewID в Shell\Bags или в списках TopViews других шаблонов папок. Это не в HKEY_CLASSES_ROOT\CLSID.

Частичное (некрасивое) решение

Я частично решил эту проблему следующим образом. Я не рекомендую пробовать это на вашем компьютере. Если вы это сделаете, пожалуйста, сначала сделайте резервную копию записей.

  1. Удалите следующий раздел реестра:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{fbb3477e-c9e4-4b3b-a2ba-d3f5d3cd46f9}\виды сверху

  2. Добавьте следующие записи реестра:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{fbb3477e-c9e4-4b3b-a2ba-d3f5d3cd46f9}\виды сверху]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderTypes\{fbb3477e-c9e4-4b3b-a2ba-d3f5d3cd46f9}\виды сверху \{00000000-0000-0000-0000-000000000000}]

    "ColumnList"="prop:0(34)System.ItemNameDisplay;0System.DateModified;0System.ItemTypeText;0System.Size;1System.DateCreated;1System.Author;1System.Keywords;1System.Title"
    "Order"=dword:00000000
    "LogicalViewMode"=dword:00000001
    "Name"="NoName"
    

Это делает так Документы.Шаблон папки библиотеки имеет тот же набор TopView, что и общий шаблон папки. Это приводит к тому, что Explorer использует представление папок, которое я указал для общего шаблона папки, обратно в HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders.

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

Резюме

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

Я также хотел бы знать:

  • Как Windows определяет тип папки (шаблон папки) для заданного описания папки (специальная папка).

  • Как Windows определяет вид папки (Подробности, Список и т.д.) Для данного типа папок. Я могу сделать вывод, что он ищет TopView для FolderType, но я не знаю, как он переводит это в представление папок.

Я искал, но нигде не могу найти этот документ.

Спасибо и, пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию.

Изменить: я сказал "Windows 7 или более поздней версии", потому что я собираю записи реестра, которые были изменены между XP и 7.

Редактировать:

Лучшее решение

Я нашел лучший способ установить вид папок для специальных папок, хотя он не так элегантен, как настройка вида папок для обычных папок.

Скажем, я захожу в специальную папку Libraries\Documents. Windows создает следующие записи реестра, если они не существуют:

HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{FBB3477E-C9E4-4B3B-A2BA-D3F5D3CD46F9}

HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell\{FBB3477E-C9E4-4B3B-A2BA-D3F5D3CD46F9}\{82BA0782-5B7A-4569-B5D7-EC83085F08CC}

    "Rev"=dword:00000003
    "FFlags"=dword:41200001
    "Vid"="{0057D0E0-3573-11CF-AE69-08002B2E1262}"
    "Mode"=dword:00000001
    "LogicalViewMode"=dword:00000001
    "IconSize"=dword:00000010
    "Sort"=hex:(omitted for brevity)
    "ColInfo"=hex:(omitted for brevity)

{FBB3477E-C9E4-4B3B-A2BA-D3F5D3CD46F9} - это шаблон папки, связанный с библиотеками \ документами.

{82BA0782-5B7A-4569-B5D7-EC83085F08CC} - это TopView с заказом 1, связанным с шаблоном папки.

Я делаю следующее:

  1. Оставь ключи в покое.

  2. Удалите все значения, кроме Vid и Mode.

  3. Установите режим на 4 и Vid на {137E7700-3573-11CF-AE69-08002B2E1262}.

  4. В следующий раз, когда я зайду в «Библиотеки \ Документы», у нее будет представление папки «Подробности». Мне даже не нужно перезапускать Explorer.

Я могу установить виды папок для других специальных папок таким же образом.

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

Хорошая новость заключается в том, что я могу это сделать, а затем экспортировать HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders и развернуть файл .reg на другом компьютере.

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

0