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

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

Чтобы избежать путаницы, под позицией я подразумеваю координату (x,y) которой находится значок файла, внутри данной папки, а не фактическое физическое местоположение в MBR.

Я задал этот вопрос в чате, и кроме первого, кто-то предположил, что позиции хранятся в desktop.ini, который, AFAIK, хранится по папкам.

Имеет некоторый смысл, что процесс восстановления также восстановил файлы desktop.ini к их начальным настройкам. Однако после восстановления установки Windows я восстановил C:\Windows и C:\Documents and Settings из другой системы (длинный рассказ здесь).

Как только я получил доступ к системе, позиции файла были точно такими же, как и раньше ... за исключением того, что C:\ , C:\Program Files и многие другие папки восстановили свои настройки. Теперь меня поражает то, что я не восстановил C:\ , поэтому файла desktop.ini не было.

Поскольку у меня также активирована гостевая учетная запись, я заметил, что просмотрел позиции по-другому, чем моя основная (администраторская) учетная запись.

Вопрос здесь в том, где Windows хранит этот атрибут для определенной папки?

Моя текущая гипотеза состоит в том, что это набор пользовательских определений, хранящихся где-то в C:\Documents and Settings , но в своих поисках я не нашел ничего о профилях пользователей и этом атрибуте.


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

1 ответ1

1

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

Реестр Windows на самом деле представляет собой комбинацию нескольких файлов, находящихся в папке% windir%\System32\Config: Software, System, SAM, Security, Default и UserDiff. Файл NTUSER.DAT является единственным файлом реестра, который не расположен таким образом; это в% userprofile%, как вы заметили.

Desktop.ini делает некоторые настройки сохранения для рабочего стола, но не упорядочивает их; он создается только в том случае, если вы включили «сохранять настройки просмотра каждой папки». Вот типичный контент:

[.ShellClassInfo] LocalizedResourceName = @% SystemRoot%\system32\shell32.dll, -21769 IconResource =% SystemRoot%\system32\imageres.dll, -183 [LocalizedFileNames] Центр управления VAIO.lnk=@C:\PROGRA ~ 2\Sony\VAIOCO ~\VAIOCO ~ 1.EXE, -1319

Дополнительную информацию о том, что вы можете включить в desktop.ini, можно найти на http://msdn.microsoft.com/en-us/library/windows/desktop/cc144102%28v=vs.85%29.aspx.

=========

Но последний "запомненный" порядок расположения значков отображается в первую очередь на основе информации, указанной вами в реестре в HKCU\Software\Microsoft\Windows\Shell\Bags\1\Desktop

Как вы заметили, этот ключ хранится в NTUSER.DAT для отдельного пользователя, а затем включается в реестр как HKCU ...

Поэтому, когда вы сделали восстановление, вы, вероятно, восстановили NTUSER.DAT и таким образом вернули заказ, который вы в последний раз использовали.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .