Концепт:
Это ещё не библиотека. Я выставил концепт на общее обозрение, чтобы собрать отзывы.
Пишите в этой теме своё мнение: критику и предложения по улучшению.
Обновление концепта (24/09/23): Добавлены функции создания, копирования, переименования, удаления ключа и функция удаления значения.
- 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++:
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 << value.get_binary() << std::endl;
registry_system::value value{sub_key, "Dlt"};
if (value.is_string()) {
const char* str_value{value};
std::cout << str_value << std::endl;
value = DWORD{0xFFFFFF}; // перезапишет значение с типом REG_DWORD
}
}
Это ещё не библиотека. Я выставил концепт на общее обозрение, чтобы собрать отзывы.
Пишите в этой теме своё мнение: критику и предложения по улучшению.
Обновление концепта (24/09/23): Добавлены функции создания, копирования, переименования, удаления ключа и функция удаления значения.
Последнее редактирование: