Файл хранения настроек windows

Как хранить настройки программ

Примечание. Все упоминаемые в статье модули, функции и т.п. относятся к Delphi.

Нижеприведенный текст являет собой вольное изложение отдельных статей февральского выпуска Microsoft Platform SDK. Год 2001 от рождества Христова. При проектировании способов хранения настроек своей программы следует задаться тремя вопросами:

Что хранить

Поскольку первая часть вопроса нам известна по определению, т.е. хранить мы будем настройки программы, то перейдем ко второй части вопроса. Ваша программа устанавливается на КОМПЬЮТЕР а пользуются ей ПОЛЬЗОВАТЕЛИ. Соответственно все настройки разделяются на две части а то и на все три — настройки которые относятся к компьютеру в целом, настройки которые относятся ко всем локальным пользователям, настройки которые относятся к конкретному пользовател. В зависимости от специфики программы первая и вторая часть могут быть совмещены или разделены. Поэтому важно сделать логическое разделение — какие настройки вашей программы действительно специфичны для самого ПК, какие настройки должны прилагаться ко всем пользователям, какие должны прилагаться к конкретному пользователю. Кроме того Мокрософт рекомендует чтобы настройки учитывали возможную мобильность пользователя, т.е. для пользователя находящегося в разных местах, возможно потребуется иметь разные наборы настроек.

Где хранить

Вообще в голову приходят три вещи.

  • Хранить настройки в системном реестре.
  • Хранить настройки в каталоге куда установлена программа.
  • Хранить настройки в системном каталоге Windows.
  • Хранить настройка в домашнем каталоге пользователя.

В Windows имеется три места предназначенных для хранения настроек которыми и следует пользоваться.

  • Системный реестр.
  • Домашний каталог пользователя (точнее один из его подкаталогов).
  • Общий каталог для пользователей.

Прочие мысли о местах хранения настроек должны быть выброшены из голов как вредные и противоестественные, Microsoft уже за вас все придумала и нефиг извращаться. Для тех кто не понимает почему, объясняю. На нормальной ОС (W’NT, W’2K) программа обычно запускается от имени и с правами конкретного пользователя. Обычно, если этот пользователь не является администратором, он имеет право изменять содержимое следующих ресурсов:

  • часть реестра HKEY_CURRENT_USER\*
  • содержимое своего домашнего каталога.
  • содержимое временного каталога (который как правило находится внутри домашнего).
  • содержимое некого каталога или каталогов специально выделенного для этого администратором.

При нормальном (читайте параноидальном) администрировании системы прочие места либо доступны только в режиме чтения, либо вообще недоступны. В том числе и папки \Program Files и Windows. Посему любая попытка программы изменять любые файловые ресурсы окромя вышеуказанных черевата тем что ее (программу) и его (пользователя) пошлют подальше. Причем далеко не в самой вежливой форме.
Пример. Adobe Photoshop и его разработчики наивно полагают что им должны быть выданы эксклюзивные права мусорить своими scratch-файлами в корневых каталогах дисков, кроме того они полагают что им должна быть выдана в пользование в режиме полный доступ часть системного реестра.. Временных каталогов, специально выделенных для подобоного рода занятий, их не устраивает. Как результат — Photoshop имеет серьезные проблемы с работой под Windows NT/2000.

С точки зрения хранения настроек программы системный реестр разделен на две части. Это ветви HKEY_CURRENT_USER для хранения настроек специфичных для пользователя, и HKEY_LOCAL_MACHINE для хранения настроек специфичных для всего ПК и соответственно всех пользователей, работающих с этим ПК. Рекомендуемая структура ветвей для хранения настроек программы — HKEY_CURRENT_USER\Software\Company Name\Application Name\Version и соответственно HKEY_LOCAL_MACHINE\Software\Company Name\Application Name\Version. Параметры Company Name, Application Name, Version желательно не хранить в виде hard-coded строк в коде программы а устанавливать в опциях проекта (Project\Options\Version Info) и доставать впоследствии из ресурса с помощью той же библиотеки RxLib. Альтернативный путь выбирать данные о версии программы из ресурсов — использование Windows API (GetFileVersionInfo, GetFileVersionInfoSize, VerQueryValue). Программе следует расчитывать на то что доступ к подключам HKEY_LOCAL_MACHINE разрешен в режиме только для чтения, а доступ к подключам HKEY_CURRENT_USER допускает чтение, изменение и создание новых подключей и значений. Программе следует расчитывать на то что нужных ей ключей может не оказаться в реестре или значения лежащие в реестре имеют неверный формат или недопустимые значения. В таком случае, вместо несуществующих или неверных значений настройки, программа должна использовать значения по умолчанию которые разработчик может «железно забить в код» или получить с помощью различных системных функций. Не следует использовать системный реестр для хранения больших кусков данных. Вместо этого лучше хранить объемные данные в отдельном файле, а в реестре запомнить имя этого файла.

Читайте также:  Прокси для telegram windows

Домашний каталог пользователя

Для хранения настроек слишком больших для того чтобы их размещать в реестре существуют специально выделенные каталоги внутри домашнего каталога пользователя. Эти каталоги обычно называются «специальными каталогами» и имеют имена Application Data и Local Settings. Полный путь к ним можно получить с помошью функций SHGetSpecialFolderPath или SHGetFolderPath.

Общий каталог пользователей

Обычно это каталог «Documents and Settings\All users». Внутри него имеются такие-же подкаталоги для хранения настроек и данных программ но относящихся ко всем пользователям. Полный путь к ним можно также получить с помошью функций SHGetSpecialFolderPath или SHGetFolderPath.

Как хранить

Для работы с системным реестром можно использовать функции Registry API общим числом около 40 штук, а можно использовать классы из Registry.pas — TRegistry, TRegistryIniFile, TRegIniFile. Особенно следует обратить внимание на TRegistryIniFile который предоставляет упрощенную модель доступа к системному реестру очень схожую с моделью работы с INI-файлами.

Это старый метод хранения настроек программ, но все еще применяющийся программистами. Настройки хранятся в текстовом файле в виде:

Для доступа к данным содержащимся в INI-файлах существуют классы из модуля IniFiles — TIniFile, TMemIniFile. Преимущество использования INI-файлов состоит в том что их можно легко подредактировать с помощью текстового редактора. Они обычно легче воспринимаются для прочтения нежели дерево ключей системного реестра.

Бинарные файлы настроек

Отдельно хочется поговорить о использовании бинарных файлов в качестве хранилища для настроек программы. Обычные мотивы любителей использовать бинарные файлы:

  • Экономится место.
  • Настройку можно спрятать от пользователя (сделать нечитабельной).

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

Заключение

Почти вся эта информация была вычерпана из кладезя мудрости под названием Platform SDK (Software Development Kit), поставляемого в составе сборника документации MSDN (Microsoft Software Developer Network). Разработчикам настоятельно рекомендуется приобрести Platform SDK, это снимает огромную массу вопросов связанную с программированием под Windows.

Системный реестр Windows.

Системный реестр в привычном нам виде появился начиная с Microsoft Windows 98.Он представляет собой структурированную базу данных хранящую в себе информацию об установленных программах, настройках конкретных профилей пользователей данного компьютера, установленном оборудовании в компьютере и используемых драйверах, форматах, ассоциациях файлов которые использует каждая установленная программа,а так же первоначальные параметры настройки ОС Windows и стандартного программного обеспечения интегрированного в операционную систему которые мы привыкли видеть сразу после «чистой» установки.

Рассмотрим ,где хранятся файлы реестра(информация актуальна для версий Microsoft Windows XP,7,8/8.1,10) ?

Практически во всех операционных системах файлы реестра хранятся в папке:

%SystemRoot%\System32\Config , где %SystemRoot% — системная переменная которая возвращает размещение системного каталога Windows . В данной папке находятся следующие файлы без расширения: Default, SAM, Security, Software, System — это и есть наш реестр.

Операционная система так же создает резервную копии файлов реестра они хранятся в следующей папке:

Что же из себя представляет содержимое файлов реестра?

Реестр можно открыть несколькими способами, вот несколько самых простых:

  1. Нажать одновременно клавиши «Win»+ «R» , и в открывшемся окне «Выполнить» набрать «regedit» и нажать «ОК» .

Системные файлы Windows: где хранятся, как отобразить или восстановить

Полную версию статьи со всеми дополнительными видео уроками смотрите в источнике: https://hetmanrecovery.com/ru/recovery_news/what-does-windows-system-file-mean.htm

Читайте о том, какие файлы являются системными, какие они имеют названия и расширения , в каких папках расположены и как их найти. Рассмотрим, что делать в случае повреждения системных файлов и как их восстановить используя средство проверки «SFC». Персональный компьютер, смартфон, планшет, ноутбук – эти понятия знакомы каждому из нас. Мы встречаем их повсеместно и используем в своей ежедневной деятельности. Перечисленные компьютерные устройства помогают пользователям решать различные задачи, сокращая их затраты времени и средств.

Читайте также:  Epson tm u950p driver windows 10

Какие файлы считаются системными

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

В полной мере всем вышеперечисленным требованиям отвечает операционная система «Windows» от корпорации «Microsoft» . Она имеет дружественный пользовательский настраиваемый интерфейс, благодаря которому каждый пользователь сможет настроить операционную систему под свои конкретные требования. Также высокая производительность системы отлично сочетается с интуитивно понятными инструментами управления компьютером, и совмещает в себе легкость и удобство использования с высокой работоспособностью.

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

Для корректной работы всей операционной системы, ее полноценного функционирования и возможности использования дополнительных приложений в «Windows» используются специальные внутренние системные файлы.

Говоря техническим языком, системные файлы «Windows» – это любые файлы с включенным скрытым системным атрибутом. Их диапазон варьируется от аппаратных драйверов, конфигурационных файлов, библиотек динамической компоновки «DLL» до различных наборов файлов, составляющих реестр операционной системы «Windows» .

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

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

Где хранятся системные файлы

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

По правде говоря, системные файлы могут храниться во многих местах на вашем персональном компьютере. Например, корневая папка вашего системного диска ( «C:\» ) содержит системные файлы, такие как файл вашей страницы ( «pagefile.sys» ) и файл гибернации ( «hiberfil.sys» ).

Большинство системных файлов операционной системы «Windows» хранятся в папке «C:\Windows» , особенно в таких подпапках, как «/System32» и «/SysWOW64» . Но вы также найдете системные файлы, которые расположены в папке пользователя (например, папка «AppData» ) и папках приложений (например, папка «ProgramData» или папка «Program Files» ).

Как отобразить скрытые системные файлы в «Windows»

Хотя системные файлы, по умолчанию, скрыты в операционной системе «Windows» , достаточно просто включить их отображение.

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

Чтобы системные файлы в операционной системе «Windows» сделать видимыми, вам придется открыть окно проводника «Windows» «Этот компьютер» . В открывшемся окне проводника файлов на ленте главного меню перейдите на вкладку «Вид» . На ленте вкладки найдите раздел «Параметры» , отвечающий за изменение параметров открытия элементов, представлений файлов и папок, и откройте вложенное меню. Во всплывающей панели меню выберите раздел «Изменить параметры папок и поиска» .

В окне «Параметры папок» перейдите на вкладку «Вид» , а затем в разделе «Дополнительные параметры» , используя полосу прокрутки, опустите бегунок вниз и снимите галочку в поле «Скрывать защищенные системные файлы (рекомендуется)» . Операционная система «Windows» выдаст предупреждающее сообщение, чтобы убедиться, что вы совершаете осознанные действия. Подтвердите свой выбор, нажав на кнопку «Да» . Затем нажмите кнопки «Применить» и «ОК» для сохранения внесенных изменений в параметры отображения папок и файлов.

Читайте также:  Windows не может найти сетевой адаптер

Теперь в проводнике файлов «Windows» вы сможете увидеть скрытые системные файлы. Обратите внимание, что значки для системных файлов выглядят более тусклыми, чем значки для несистемных файлов. Это сделано намеренно, с целью обозначить их важность.

Что произойдет, если системные файлы будут повреждены

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

Если вы подозреваете, что некоторые системные файлы повреждены или отсутствуют, то в операционной системе существует несколько встроенных системных инструментов, которые могут вам помочь. Средство проверки системных файлов ( «SFC» ) сканирует системные файлы «Windows» и может заменить любые отсутствующие или поврежденные файлы, обнаруженные в результате проверки. Команда обслуживания и управления образами «Windows» ( «DISM» ) может использоваться для устранения основных проблем, которые мешают средству проверки «SFC» выполнять свою работу. Используя их вместе, вы будете иметь возможность успешно восстанавливать отсутствующие или поврежденные системные файлы.

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

Для запуска средства «SFC» вам необходимо воспользоваться приложением «Командная строка» , запущенного с правами администратора. Открыть приложение можно различными способами. Мы опишем несколько из них, и вы сможете воспользоваться любым, понравившимся вам, способом.

1 способ : Откройте проводник файлов «Windows» «Этот компьютер» , затем перейдите в системную папку «C:/» . Откройте вложенную папку «Windows» и перейдите в подпапку «System32» . Опустите бегунок полосы прокрутки вниз и найдите файл «cmd.exe» . Щелкните по нему правой кнопкой мыши и откройте всплывающее контекстное меню. В списке возможных действий выберите раздел «Запуск от имени администратора» .

2 способ : Нажмите кнопку «Пуск» , расположенную в нижнем левом углу рабочего стола на «Панели задач» , и откройте главное пользовательское меню «Windows» . В списке установленных приложений опустите бегунок полосы прокрутки вниз и откройте раздел «Служебные – Windows» . Во всплывающем вложенном меню найдите раздел «Командная строка» и щелкните его правой кнопкой мыши. В появившемся меню в разделе «Дополнительно» выберите раздел «Запуск от имени администратора» .

3 способ : Нажмите на «Панели задач» кнопку «Поиск» , расположенную рядом с кнопкой «Пуск» , и откройте поисковую панель. В поле поискового запроса введите фразы «командная» или «cmd» . В разделе «Лучшее соответствие» система выдаст вам искомый результат «Командная строка» . Щелкните по нему правой кнопкой мыши и, во всплывающем меню, выберите раздел «Запуск от имени администратора» .

Во всплывающем сообщении службы контроля учетных записей «Windows» на вопрос: «Разрешить этому приложению вносить изменения на вашем устройстве?» – нажмите кнопку «Да» , и командная строка с правами администратора будет открыта.

Введите в окне командной строки исполняемую команду «sfc /scannow» для запуска средства проверки системных файлов операционной системы «Windows» .

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

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

Как становиться ясно из представленной статьи, системные файлы играют главную роль в обеспечении работоспособности всей операционной системы, и выполнять любые действия с ними следует с особой осторожностью. Ведь для возврата системы в рабочее состояние вам придётся применить особые средства восстановления системы без стопроцентной гарантии возврата полной работоспособности операционной системы «Windows» .

Оцените статью