Работа с реестром Windows на языке c#

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

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

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

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

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

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

Вообще корневых ключей: 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»

C:\WINDOWS\system32\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

C:\WINDOWS\regedit.exe

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

Нажмите на кнопку «Пуск» -> найдите в меню пункт «Выполнить»
затем введите: 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 regKey = Registry.CurrentUser;

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

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

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

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*