Реестр 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
C:\WINDOWS\regedit.exe
Чтобы открыть реестр нужно проделать следующие действия:
Нажмите на кнопку «Пуск» -> найдите в меню пункт «Выполнить»
затем введите: regedit, либо используйте горячие клавиши Win+R
кнопка Win расположена между Ctrl и Alt
Работа с реестром используя язык 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, с помощью него можно добавлять, удалять разделы и подразделы, а так же создавать параметры и получать их значения.
Более подробно об этих классах поговорим в следующей статье.
Читайте также: