PDA

Просмотр полной версии : Концепт библиотеки для работы с реестром Windows


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 - описывает итератор ключа
constructor(key)


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 - описывает итератор значения реестра
constructor(key)

Пример:

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):Добавлены функции создания, копирования, переименования, удаления ключа и функция удаления значения.

Digger Man52
09.11.2023, 00:37
Почти все реализовал: https://github.com/DiggerMan-cpp/Registry-Access-Library , автора концепта указал

Receiver
11.11.2023, 03:10
Почти все реализовал: https://github.com/DiggerMan-cpp/Registry-Access-Library , автора концепта указал


Бля, красавчик! У меня руки никак не доходили