| Receiver |
23.09.2023 19:57 |
Концепт:
- class key - описывает ключ реестра
- constructor(HKEY, key_path) - открывает handle
- destructor() - закрывает handle
- operator=(key) - копирует вложенные ключи и значения
- keys_count() - количество под-ключей
- values_count() - количество значений
- value(value_name) - возвращает инициализированный объект value
- tree() - вовзращает HKEY ветки
- path() - возвращает путь
- native_handle() - вовзращает открытый handle
- function create_key(HKEY, key_path) - создаёт ключ
- function rename_key(HKEY, old_path, new_path) - переименовывает/перемещает ключ
- function delete_key(HKEY, path) - удаляет ключ, вложенные ключи и значения
- class key_iterator - описывает итератор ключа
- class value - описывает значение реестра
- constructor(key, value_name) - получает значение
- name() - возвращает имя значения
- is_dword() - проверяет на тип REG_DWORD
- get_dword() - возвращает DWORD
- set_dword(DWORD)
- operator DWORD() - для авто определения типа
Код:
DWORD result = value;
- operator=(DWORD) - для авто определения типа
Код:
value = DWORD{0xFFFFFF};
- ... (так же для типов QWORD, SZ, BINARY, ...)
- function delete_value(key, value_name) - удаляет значение
- class value_iterator - описывает итератор значения реестра
Пример:
C++:
[CODE]
registry_system
::
key key
{
HKEY_LOCAL_MACHINE
,
"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones"
}
;
for
(
auto
&
sub_key
:
registry_system
::
key_iterator
{
key
}
)
{
for
(
auto
&
value
:
registry_system
::
value_iterator
{
sub_key
}
)
std
::
cout
Это ещё не библиотека. Я выставил концепт на общее обозрение, чтобы собрать отзывы.
Пишите в этой теме своё мнение: критику и предложения по улучшению.
Обновление концепта (24/09/23):Добавлены функции создания, копирования, переименования, удаления ключа и функция удаления значения.
|