Реестр 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. С помощью неё можно осуществлять редактирование, просмотр, создание разделов, параметром и многое другое.


Наш канал в telegram канал codeby

Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде !  Подробнее ...

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, с помощью него можно добавлять, удалять разделы и подразделы, а так же создавать параметры и получать их значения.

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

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


Чат codeby в telegram перезагрузка

Обсуждаем вопросы информационной безопасности, методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие.  Подробнее ...

Похожие темы

c# Создание веб-сервера (дополнение)... Создание веб-сервера на языке c# (дополнение) Данная статья является дополнением к предыдущей статье: как создать веб-сервер с помощью языка c#. В не...
Как скопировать файл с помощью языка c#?... C# Как скопировать файл? Из этой статьи Вы узнаете, как скопировать файл, используя язык c#. Но, для начала хотелось бы сказать, что, не смотря на то...
Реализация игры Жизнь на С++ и OpenMP... Задание Реализовать компьютерную реализацию классического варианта игры «Жизнь». С использование средств OpenMP. Классический вариант игры «...
c# Как удалить колонку в DataGridView?... Удаление колонки в DataGridView В этой статье мы рассмотрим, как удалить колонку в элементе DataGridView с помощью языка c# Создадим новый проект ...
C# WebBrowser. Часть 1: Получение и вывод данных... C# WebBrowser. Часть 1: Получение и вывод данных При создании одного из своих приложений мне потребовалось реализовать в нём возможность скачивать фа...