ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Концепт библиотеки для работы с реестром Windows (https://forum.antichat.xyz/showthread.php?t=1490035)

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/Reg...Access-Library , автора концепта указал

Receiver 11.11.2023 03:10

Цитата:

Сообщение от Digger Man

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

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


Время: 02:26