Ветки реестра — REG_BINARY, REG_DWORD, REG_EXPAND_SZ, REG_MULTI_SZ и REG_SZ » Видеокурсы, полезный софт и познавательные компьютерные статьи

Windows – основы работы с реестром – синтаксис, структура reg-файла.

оглавление:
Основы работы с реестром
1)что такое реестр?
2)ситаксис,структура,назначение элементов реестра.
3)редактор реестра (regedit.exe)
4)синтаксис,структура reg-файла.
5)утилита reg.exe

Синтаксис, структура reg-файла

____________________

что такое reg-файл?
это файл,несущий в себе информацию,для взаимодействия с элементами реестра.

Как создать REG-файл?

Внимание!
перед тем как что либо сделать,обязательно сделайте резервную копию реестра!!!

___________________________________________________

Как создать/восстановить резервную копию реестра Windows штатными средствами ОС Windows ?
Резервное копирование и восстановление системного реестра с помощью стороннего ПО
Автоматическое создание резервной копии реестра
___________________________________________________

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

Редактор реестра – это инструмент, наиболее часто используемый для работы с реестром.

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

Попробуем?
Давайте создадим собственную команду в контексном меню.
Для этого откроем раздел

Затем правой кнопкой мыши создать раздел.

Ветки реестра — REG_BINARY, REG_DWORD, REG_EXPAND_SZ, REG_MULTI_SZ и REG_SZ » Видеокурсы, полезный софт и познавательные компьютерные статьи

создаем раздел под именем name.
в нем еще один раздел-command.
Ветки реестра — REG_BINARY, REG_DWORD, REG_EXPAND_SZ, REG_MULTI_SZ и REG_SZ » Видеокурсы, полезный софт и познавательные компьютерные статьи

В разделе name-создадим строковой параметр –reg_sz
и задаем ему любое значение-например

Это имя было придумано моим больным воображением; не стесняйтесь выбрать другое.

Ветки реестра — REG_BINARY, REG_DWORD, REG_EXPAND_SZ, REG_MULTI_SZ и REG_SZ » Видеокурсы, полезный софт и познавательные компьютерные статьи

В разделе

command

Выделяем из строки строкового параметра имя выполняемой команды.

Мне пришло в голову.

regedit.exe

В итоге команда контекстного меню выглядела следующим образом:

Ветки реестра — REG_BINARY, REG_DWORD, REG_EXPAND_SZ, REG_MULTI_SZ и REG_SZ » Видеокурсы, полезный софт и познавательные компьютерные статьи

Нажимая мы вызываем редактор реестра…

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

Да…
Можно не ковыряться в редакторе реестра,а просто внести в реестр нужную информацию используя файл с расширением .reg

Как это выглядит на практике

Если записать все операции, перечисленные в reg-файле, получаются следующие результаты:

Для создания reg-файла можно использовать любой текстовый редактор.

Я взял блокнот.

Рабочее место: тест-код.

В предыдущем примере мы добавили новые параметры и разделы в реестр.

Давайте удалим их.

Для этого в текстовом документе набираем следующее:

Как сохранить все файлы с именами, заканчивающимися на “.reg” (например, tweak_graph)

Примените OK и дважды щелкните полученный файл.

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

Пришло время исправить синтаксис, раз уж он был нарушен.

1)

Обязательной строчкой обозначается версия редактора.

2)

Следующая строка должна быть пустой.

3)
Далее идет указание пути к разделу.
в нашем случае раздел-name

Примеч.:

Если его еще нет, он будет создан.

Если он есть, то в него будут добавлены параметры или изменения твиков.

Остальные слова раздела будут пересмотрены.

4)
Имя параметра— это имя импортируемого параметра данных. Если элемент данных файла отсутствует в реестре, REG-файл добавляет его (со значением). Если элемент данных существует, значение в REG-файле переписывает существующее значение. Имя элемента данных заключается в кавычки. За именем элемента данных следует знак равенства (=).

5)
Значение,тип параметра

Формат записи для их добавления несколько другой. Для параметров типа DWORD используется строка
“Имя_параметра_данных”=”dword:Значение_данных1” Здесь “Имя_параметра_данных” – имя параметра, dword – указывает на тип этого параметра (буквы должны быть обязательно маленькие!) и после двоеточия следует значение из восьми цифр в шестнадцатеричном (!) формате. Однако большинство параметров DWORD имеют значение либо 0, либо 1, значит, следует написать соответственно либо 00000000, либо 00000001 вместо значков ХХХХХХХХ. Пробелы в строке не допускаются.Для добавления двоичного параметра формат записи несколько иной:
“Имя_параметра_данных”=hex:XX,XX,XX,….После знака “=” идет hex, т.е. указывается, что это будет двоичный параметр, затем идут шестнадцатеричные числа, отделенные запятой. Например, если необходимо добавить двоичный параметр равный “be 00 00 00”, то следует писать строку
“Имя_параметра_данных”=hex:be,00,00,00В реестре существуют параметры “По умолчанию” (“Default”). Чтобы присвоить им какое-то значение через reg-файл, надо добавить такую строку:
@=”Тип_данных:Значение_данных”Здесь значок @ показывает, чтоприсваивается значение параметра “По умолчанию”. Он не заключается в кавычки.

Примечание 1: Для одного пути реестра можно ввести несколько строк элементов данных. В следующем окне Windows сообщит вам о результатах импорта.

Примечание 2: 9x-совместимые файлы могут быть открыты Windows 2000/XP. Однако, если файл был экспортирован в Windows XP, а затем импортирован в Window 9x, первую строку REGEDIT4 необходимо изменить вручную.

Если мы создаем обычный строковой параметр-то его символ в твике мы видим как знак @.
Попробуйте заключить этот знак в кавычки и он превратится в имя параметра.

Так.
А что за минусы я поставил при создании твика?
Если мы желаем удалить раздел то ставим минус перед значением адреса раздела.
Если надо удалить параметр-ставим минус после знака равно за параметром.
Все видно на примере.
Однако в контексном меню у вас остался не рабочии пункт.
Вот и попробуйте убрать его твиком.
Кстати.
Если вы захотите применить множество твиков,то замучаетесь нажимать ок.
Тогда вы можете применить твик через командную строку используя команду regedit /s-она подавляет появление диалоговых окон.

Теперь пришло время поговорить об использовании командной строки.

:/>  Простой калькулятор онлайн ✔ Самые точные расчеты по правилам!

Более конкретно, нам требуется инструмент командной строки reg.exe.

Список доступных команд получим вбив в командной строке reg/?
И аналогичным способом можно получить справку по каждой команде.
Единственное, что тут стоит добавить-если при наборе команды дописать , то тогда не будет выводиться сообщение если такой файл на диске уже есть.
Для того,что бы узнать как работать с реестром через командную строку или утилиту reg.exe то
Читайте далее статью

Утилита командной строки reg.exe.

§

оглавление:
Основы работы с реестром
1)что такое реестр?
2)ситаксис,структура,назначение элементов реестра.
3)редактор реестра (regedit.exe)
4)синтаксис,структура reg-файла.
5)утилита reg.exe

Синтаксис, структура reg-файла

____________________

что такое reg-файл?
это файл,несущий в себе информацию,для взаимодействия с элементами реестра.

Как создать REG-файл?

Внимание!
перед тем как что либо сделать,обязательно сделайте резервную копию реестра!!!

___________________________________________________

Как создать/восстановить резервную копию реестра Windows штатными средствами ОС Windows ?
Резервное копирование и восстановление системного реестра с помощью стороннего ПО
Автоматическое создание резервной копии реестра
___________________________________________________

Что такое реестр, где он находится и что он делает?

Редактор реестра – это инструмент, наиболее часто используемый для работы с реестром.

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

Попробуем?
Давайте создадим собственную команду в контексном меню.
Для этого откроем раздел

Затем правой кнопкой мыши создать раздел.

Ветки реестра — REG_BINARY, REG_DWORD, REG_EXPAND_SZ, REG_MULTI_SZ и REG_SZ » Видеокурсы, полезный софт и познавательные компьютерные статьи

создаем раздел под именем name.
в нем еще один раздел-command.
Ветки реестра — REG_BINARY, REG_DWORD, REG_EXPAND_SZ, REG_MULTI_SZ и REG_SZ » Видеокурсы, полезный софт и познавательные компьютерные статьи

В разделе name-создадим строковой параметр –reg_sz
и задаем ему любое значение-например

Вы можете дать моему бреду другое название; он стал болезнью.

Ветки реестра — REG_BINARY, REG_DWORD, REG_EXPAND_SZ, REG_MULTI_SZ и REG_SZ » Видеокурсы, полезный софт и познавательные компьютерные статьи

И под

command

Создаем строковой параметр с именем выполняемой команды.

Мне в голову пришло.

regedit.exe

В результате появится команда контекстного меню, которая выглядит следующим образом:

Ветки реестра — REG_BINARY, REG_DWORD, REG_EXPAND_SZ, REG_MULTI_SZ и REG_SZ » Видеокурсы, полезный софт и познавательные компьютерные статьи

При нажатии на кнопку открывается редактор реестра.

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

Да…
Можно не ковыряться в редакторе реестра,а просто внести в реестр нужную информацию используя файл с расширением .reg

Как это выглядит на практике?

Если вы выполните все операции, описанные в reg-файле, вы получите следующее:

Для создания reg-файла подойдет любой текстовый редактор.

Я взял в руки блокнот.

Поэтому создайте новый тестовый документ.

В предыдущем рисунке мы расширили параметры и разделы реестра.

Давайте снимем их сейчас.

В наборе текстовых документов выполните следующие действия:

Все файлы.reg должны быть сохранены где-нибудь (например, в tweak).

По полученному файлу двойной клик,применить.

Раздел команды и параметр цены в разделе имени реестра были удалены.

На этом этапе пришло время освоить синтаксис.

1)

Обязательной строкой называется версия редактора.

2)

Следующая строка должна быть пустой.

3)
Далее идет указание пути к разделу.
в нашем случае раздел-name

Примеч.

Если его еще нет, он будет создан.

Если он отсутствует, то в него могут быть внесены дополнительные параметры или модификации.

Другие слова будут переписаны.

4)
Имя параметра— это имя импортируемого параметра данных. Если элемент данных файла отсутствует в реестре, REG-файл добавляет его (со значением). Если элемент данных существует, значение в REG-файле переписывает существующее значение. Имя элемента данных заключается в кавычки. За именем элемента данных следует знак равенства (=).

5)
Значение,тип параметра

Формат записи для их добавления несколько другой. Для параметров типа DWORD используется строка
“Имя_параметра_данных”=”dword:Значение_данных1” Здесь “Имя_параметра_данных” – имя параметра, dword – указывает на тип этого параметра (буквы должны быть обязательно маленькие!) и после двоеточия следует значение из восьми цифр в шестнадцатеричном (!) формате. Однако большинство параметров DWORD имеют значение либо 0, либо 1, значит, следует написать соответственно либо 00000000, либо 00000001 вместо значков ХХХХХХХХ. Пробелы в строке не допускаются.Для добавления двоичного параметра формат записи несколько иной:
“Имя_параметра_данных”=hex:XX,XX,XX,….После знака “=” идет hex, т.е. указывается, что это будет двоичный параметр, затем идут шестнадцатеричные числа, отделенные запятой. Например, если необходимо добавить двоичный параметр равный “be 00 00 00”, то следует писать строку
“Имя_параметра_данных”=hex:be,00,00,00В реестре существуют параметры “По умолчанию” (“Default”). Чтобы присвоить им какое-то значение через reg-файл, надо добавить такую строку:
@=”Тип_данных:Значение_данных”Здесь значок @ показывает, чтоприсваивается значение параметра “По умолчанию”. Он не заключается в кавычки.

Примечание 1: Для одного пути реестра можно ввести несколько строк элементов данных. Результаты импорта будут сообщены Windows в последующем окне.

Примечание 2: Windows 2000/XP может открывать файлы, созданные на системе 9x, поскольку она обратно совместима. Вы должны вручную изменить первую строку, если файл был экспортирован в Windows XP, а затем перенесен в Windows 10.

Если мы создаем обычный строковой параметр-то его символ в твике мы видим как знак @.
Попробуйте заключить этот знак в кавычки и он превратится в имя параметра.

Так.
А что за минусы я поставил при создании твика?
Если мы желаем удалить раздел то ставим минус перед значением адреса раздела.
Если надо удалить параметр-ставим минус после знака равно за параметром.
Все видно на примере.
Однако в контексном меню у вас остался не рабочии пункт.
Вот и попробуйте убрать его твиком.
Кстати.
Если вы захотите применить множество твиков,то замучаетесь нажимать ок.
Тогда вы можете применить твик через командную строку используя команду regedit /s-она подавляет появление диалоговых окон.

:/>  Как редактировать файл Hosts | Белые окошки

Кстати, давайте сейчас поговорим и об использовании командной строки.

Во-первых, нам потребуется инструмент командной строки reg.exe.

Список доступных команд получим вбив в командной строке reg/?
И аналогичным способом можно получить справку по каждой команде.
Единственное, что тут стоит добавить-если при наборе команды дописать , то тогда не будет выводиться сообщение если такой файл на диске уже есть.
Для того,что бы узнать как работать с реестром через командную строку или утилиту reg.exe то
Читайте далее статью

Утилита командной строки reg.exe.

Hkey_local_machine (hklm)

H KEY_LOCAL_MACHINE, также известный как HKLM, содержит настройки, характерные для локального компьютера. [6]

Ядро системы хранит ключ, найденный в HKLM, в памяти для соответствия всем другим соединениям, а не хранит его на диске. Дополнительные подразделы не могут быть добавлены приложениями. Этот раздел в Windows NT имеет следующие четыре подраздела:

S AM, SECURITT, SUFTEMS и дополнительные файлы конфигурации System32. Пятое соединение, “HARDWAERE”, которое выдает список всех обнаруженных устройств Plug-and-Play, зависит от питания и не сохраняется в файле.

Седьмой, шестой или восьмой подразделы “Компоненты” динамически отображаются в памяти ядром в Windows Vista и более поздних версиях.

  • Ключ “HKLM SAM” обычно кажется пустым для большинства пользователей (если только им не предоставлен доступ локальными системными администраторами или администраторами домена, управляющими локальной системой). Он используется для обращения ко всем базам данных Security Account Manager (SAM) для всех доменов, в которых локальная система авторизована или административно настроена (включая локальный домен работающей системы, база данных SAM которой хранится в подразделе, также называемом “SAM”: при необходимости будут созданы дополнительные соединения, по одному для каждого дополнительного домена). Каждая база данных SAM содержит все встроенные учетные записи (включая псевдонимы групп) и настроенные учетные записи (пользователи, группы и их псевдонимы, включая учетные записи гостей и администраторов), созданные и настроенные в соответствующем домене; для каждой учетной записи в этом домене, в частности, он содержит имя пользователя, которое может быть использовано для входа в этот домен, уникальный идентификатор пользователя внутри домена, криптографический хэш пароля каждого пользователя для каждого включенного протокола
  • Ключ “HKLM SECURITY” обычно пуст для большинства пользователей (если только пользователи с административными привилегиями не предоставят ему доступ) и связан с базой данных безопасности домена, в который вошел пользователь (если пользователь вошел в домен на локальной системе, этот ключ будет связан с базой данных безопасности домена, в который вошел пользователь), этот ключ будет связан с веткой реестра, хранящейся на локальной машине и управляемой локальными системными администраторами или встроенной учетной записью “Система” и установщиками Windows). Ядро обращается к нему для чтения и применения политики безопасности, применимой к текущему пользователю и любым приложениям или операциям, выполняемым этим пользователем. Он также содержит подраздел “SAM”, который динамически ссылается на базу данных SAM домена, в котором зарегистрирован текущий пользователь.
  • Ключ “HKLM SYSTEM” обычно может быть записан только пользователями с привилегиями локального системного администратора. Он содержит информацию о конфигурации системы Windows, данные для безопасного генератора случайных чисел (RNG), список подключенных в данный момент устройств, содержащий файловую систему, несколько пронумерованных “HKLM SYSTEM Control Sets”, содержащих альтернативные конфигурации для драйверов системного оборудования и запущенных служб. в локальной системе (включая те, которые используются в настоящее время, и те, которые находятся на рассмотрении), подраздел “HKLM SYSTEM Select”, содержащий статус этих наборов управления, и “HKLM SYSTEM CurrentControlSet”, который динамически связывается во время загрузки Каждый настроенный набор управления содержит
    подраздел “Enum”, в котором перечислены все известные устройства Plug-and-Play и они ассоциируются с установленными системными драйверами (и хранятся конкретные конфигурации этих драйверов), подраздел “Services”, в котором перечислены все установленные системные драйверы (с независимыми от устройств конфигурациями и перечислены устройства, для которых они созданы) и все программы, которые запускаются как службы (как и когда они могут быть запущены автоматически), подраздел “Управление”, в котором перечислены различные драйверы оборудования и программы, запускаемые как службы, и
  • Подраздел “Перечисление”, в котором перечислены все известные устройства Plug-and-Play и они ассоциируются с установленными системными драйверами (и хранятся конкретные конфигурации этих драйверов для каждого устройства),
  • Подраздел “Службы”, в котором перечислены все установленные системные драйверы (с указанием независимой от устройства конфигурации и списка устройств, для которых они созданы) и все программы, работающие как службы (как и когда они могут быть запущены автоматически),
  • Подраздел “Управление”, в котором перечислены различные драйверы оборудования и программы, запущенные в качестве служб, а также все другие конфигурации системы,
  • Подраздел “Профили оборудования”, в котором перечислены различные настроенные профили (каждый с параметром “Система” или “Программное обеспечение”, используемым для изменения профиля по умолчанию в драйверах и системных службах или приложениях), и текущий подраздел “Профили оборудования”, который динамически связан с одним из этих профилей.
  • Подраздел “HKLM SOFTWARE” содержит программное обеспечение и конфигурацию Windows (в профиле оборудования по умолчанию). Чаще всего он модифицируется установщиками приложений и систем. Он организован по производителям программного обеспечения (с соединениями для каждого), но также содержит подраздел “Windows” для определенных конфигураций пользовательского интерфейса Windows, подраздел “Classes”, содержащий все зарегистрированные ассоциации расширений файлов, типов MIME, идентификаторов классов объектов. идентификаторы интерфейсов (для OLE, COM / DCOM и ActiveX) с установленными приложениями или DLL, которые могут работать с этими типами на локальной машине (но эти ассоциации настраиваются для каждого пользователя, см. ниже), и “Poly
  • Ключ “HKLM SOFTWARE Wow6432Node” используется 32-битными приложениями в 64-битной Windows и эквивалентен “HKLM SOFTWARE”, но отличается от него. Путь к ключу прозрачно представлен для 32-битных приложений WoW64 как HKLM SOFTWARE[7] (так же, как 32-битные приложения видят% SystemRoot% Syswow64 как% SystemRoot% System32).
:/>  Как открыть командную строку

Ключи и ценности

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

Только известный дескриптор корневого ключа (который является анонимным, но эффективное значение которого не может быть постоянным числовым или временным кодом) может получить доступ к иерархии ключей реестра. Он сопоставлен с информацией о разделе ядра для архива. После получения запроса на доступ и отправки уведомления пользователю системы Яндекс, пользователи узнают о нем в течение 24 часов.

Иллюстрация. На раздел “Windows” корневого ключа HKEA_LOCAL_MACHINE ссылаются программы Microsoft Windows.

Семь предопределенных корневых ключей обычно называются по их соответствующим дескрипторам Win32 API или, в зависимости от приложения, по их эквивалентным сокращениям:

Все ветки реестра могут быть ограничены списками контроля доступа (ACL), как и другие файлы или службы в Windows, на основе привилегий пользователя или маркеров безопасности.

Список значений для пар имя/данные, хранящихся в ключах. Значения реестра и ключи упоминаются отдельно. Каждая строка значения реестра имеет свое имя, нечувствительное к регистру. Функции, которые обращаются к значениям реестра и изменяют их (приемники) в Windows API, принимают имена значений независимо от пути к ключу или родительского дескриптора блокировки.

Терминология несколько вводит в заблуждение, поскольку каждый раздел реестра похож на ассоциативный массив, где именная часть каждого значения реестра в стандартной терминологии называется “ключом”. Эти термины заимствованы из 16-битного реестра Windows 3, где ключи реестра не могут содержать произвольные пары имя/данные, а только безымянное значение (которое должно быть строкой).

Реестр Windows 3 можно представить в таком виде как единый ассоциативный массив, в котором ключи – как “ключи регистрационной строки”, так и “ключи ассоциации” – образуют иерархию. При разработке 32-разрядного реестра значения имен были немного изменены, поскольку в нем была добавлена возможность создания нескольких именованных значений для каждого ключа. [5] Каждый раздел реестра может иметь значение “по умолчанию”, имя которого является пустой строкой, чтобы сохранить согласованность с предыдущим поведением.

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

Список стандартных типов значений реестра
Тип IDИмя символьного типаЗначение и кодировка данных, хранящихся в значении реестра
0REG_NONEБез типа (сохраненное значение, если есть)
1REG_SZА нить значение, обычно хранящееся и выставленное в UTF-16 LE (при использовании Unicode-версии функций Win32 API), обычно оканчивается символом NUL
2REG_EXPAND_SZ«Расширяемое» строковое значение, которое может содержать переменные среды, обычно хранится и отображается в UTF-16LE, обычно заканчивается символом NUL
3REG_BINARYДвоичные данные (любые произвольные данные)
4REG_DWORD / REG_DWORD_LITTLE_ENDIANА DWORD значение, 32-битное беззнаковыйцелое число (числа от 0 до 4 294 967 295 [232 – 1]) (мало-endian )
5REG_DWORD_BIG_ENDIANА DWORD значение, 32-битное беззнаковыйцелое число (числа от 0 до 4 294 967 295 [232 – 1]) (большой-endian )
6REG_LINKСимвольная ссылка (UNICODE) на другой раздел реестра с указанием корневого ключа и пути к целевому ключу.
7REG_MULTI_SZМногострочное значение, которое представляет собой упорядоченный список непустых струны, обычно хранится и отображается в UTF-16LE, каждый из которых заканчивается символом NUL, а список обычно заканчивается вторым символом NUL.
8REG_RESOURCE_LISTСписок ресурсов (используется Plug-n-Play перечисление и конфигурация оборудования)
9REG_FULL_RESOURCE_DESCRIPTORДескриптор ресурса (используется Plug-n-Play перечисление и конфигурация оборудования)
10REG_RESOURCE_REQUIREMENTS_LISTСписок требований к ресурсам (используется Plug-n-Play перечисление и конфигурация оборудования)
11REG_QWORD / REG_QWORD_LITTLE_ENDIANА QWORD значение, 64-битное целое число (либо с прямым порядком байтов, либо с прямым порядком байтов, либо не указанное) (введено в Windows XP )

Оставьте комментарий