Внимание конкурс! на форуме codeby

Наш конкурс  - это возможность получить денежные призы, премиум доступ на форуме и скидку в нашем маркетплейсе

Реестр Windows и язык c#

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

Структура и ключи реестра

Основными элементами реестра являются: ключи и значения, а данные представлены и структурированы в виде дерева.

Дерево имеет 5 корневых ключей реестра (root keys)

Реестр Windows и язык c#

Вообще корневых ключей: 7, но многие из них устарели и уже не используются в современном мире.

HKEY_CURRENT_CONFIG — (Win98 и NT-разрядных версий Windows)

HKEY_PERFORMANCE_DATA (для NT-разрядных версий Windows, нельзя увидеть в редакторе реестра Windows)

HKEY_DYN_DATA (Win 9x/Me)

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

разделы реестра

В свою очередь каждый subkeys может содержать любое количество параметров.

Параметр имеет: имя(name), тип(type) и значение(value)

параметры реестра

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

файл реестра windows представлен в виде нескольких файлов, которые хранятся в папке config

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

Имя файла Раздел реестра Описание
SAM HKEY_LOCAL_MACHINE\SAM SAM
SECURITY HKEY_LOCAL_MACHINE\SECURITY Безопасность
software HKEY_LOCAL_MACHINE\SOFTWARE Софт
system HKEY_LOCAL_MACHINE\SYSTEM Система
default HKEY_LOCAL_MACHINE\DEFAULT Параметры по умолчанию

Как открыть реестр в windows?

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



regedit

Путь к файлу программы regedit

Чтобы открыть реестр нужно проделать следующие действия:

Нажмите на кнопку «Пуск» -> найдите в меню пункт «Выполнить»
затем введите: regedit, либо используйте горячие клавиши Win+R
кнопка Win расположена между Ctrl и Alt

как открыть реестр

regedit

Работа с реестром используя язык C#

.NET предлагает несколько классов для работы с реестром, один из них
class Registry

В проекте обращаться к данному классу можно, как по полному имени Microsoft.Win32.Registry, либо использовать using Microsoft.Win32;

Данный класс позволяет получить доступ ко всем корневым ключам реестра (root keys).

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

поле root key
ClassesRoot HKEY_CLASSES_ROOT
CurrentConfig HKEY_CURRENT_CONFIG
CurrentUser HKEY_CURRENT_USER
Users HKEY_USERS
PerformanceData HKEY_PERFORMANCE_DATA
DynData HKEY_DYN_DATA.LocalMachine
PerformanceData HKEY_PERFORMANCE_DATA

Пример на языке c#:

Выбираем root keys CurrentUser, тем самым открываем root ключ HKEY_CURRENT_USER;

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

Более подробно об этих классах поговорим в следующей статье.

Читайте также:


Спонсор публикаций Cyber-512

Готовим специалиста в области ИБ  - Воспитаем специалиста в области ИБ с нуля до начального уровня. После обучения сможете оказывать услуги по проведению тестирования на проникновение ( легальный хакинг )

Похожие темы

Программирование для хакеров — 2... Тут начинали переводить статьи из цикла "программирование для хакеров": Введение. Ну а я продолжу. Однако, мой перевод будет невероятно вольным, а...
основные компоненты .NET Framework (CLR и Framewor... Основные компоненты .NET Framework (CLR и Framework Class Library) В первой статье Вы узнали, что платформа .NET Framework состоит из 2 основных компо...
Моделирование сети Петри на С++... Постановка задачи: Разработать программу, моделирующую работу сетей Петри, с возможностью автоматического моделирования и проверки в ручном реж...
Как определить версию Windows, используя язык c#... Как определить версию Windows с помощью языка C# Сразу же хотелось бы сказать, что существует несколько способов решения данной задачи. В этой статье...
Как добавить dll файл в проект Visual Studio... Как добавить dll файл в проект Небольшое практическое руководство о том, как подключить dll файл в проект программы Visual Studio 1. Перейдите в о...