|
NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
|
系统注册表项类 更多...
#include <registry_key.hpp>
类 | |
| struct | root_key |
| 系统注册表根键常量 更多... | |
| struct | value_info |
| 系统注册表值信息结构 更多... | |
Public 类型 | |
| enum class | value_type : ::DWORD { none = REG_NONE , string = REG_SZ , expand_string = REG_EXPAND_SZ , binary = REG_BINARY , dword = REG_DWORD , qword = REG_QWORD , multi_string = REG_MULTI_SZ } |
| 系统注册表值类型枚举 更多... | |
| enum | wow64_view : ::REGSAM { view_default = 0 , view_32bit = KEY_WOW64_32KEY , view_64bit = KEY_WOW64_64KEY } |
| 注册表 32/64 位视图控制 更多... | |
Public 成员函数 | |
| registry_key ()=default | |
| 默认构造函数 | |
| registry_key (::HKEY key) | |
| 从原生句柄构造注册表项 | |
| ~registry_key () | |
| 析构函数 | |
| registry_key (registry_key &&other) noexcept | |
| 移动构造函数 | |
| registry_key & | operator= (registry_key &&other) noexcept |
| 移动赋值运算符 | |
| bool | is_valid () const noexcept |
| 检查注册表项是否有效 | |
| operator bool () const noexcept | |
| 布尔转换运算符 | |
| void | create_sub_key (const wstring &name) |
| 创建子项 | |
| void | open (::HKEY root, const wstring &path, ::REGSAM sam_desired=KEY_READ|KEY_WRITE) |
| 打开注册表项 | |
| registry_key | open_sub_key (const wstring &name, REGSAM sam_desired=KEY_READ) const |
| 打开子项 | |
| void | delete_sub_key (const wstring &name) |
| 删除子项 | |
| void | delete_value (const wstring &name) |
| 删除值 | |
| bool | has_sub_key (const wstring &name) const |
| 检查是否存在指定的子项 | |
| bool | has_value (const wstring &name) const |
| 检查是否存在指定的值 | |
| vector< wstring > | enum_sub_key_names () const |
| 枚举所有子项名称 | |
| vector< value_info > | enum_values () const |
| 枚举所有值 | |
| void | set_string_value (const wstring &name, const wstring &value) |
| 设置字符串值 | |
| void | set_expand_string_value (const wstring &name, const wstring &value) |
| 设置可扩展字符串值 | |
| void | set_dword_value (const wstring &name, ::DWORD value) |
| 设置32位整数值 | |
| void | set_qword_value (const wstring &name, ::ULONGLONG value) |
| 设置64位整数值 | |
| void | set_binary_value (const wstring &name, const ::BYTE *data, ::DWORD size) |
| 设置二进制值 | |
| void | set_multi_string_value (const wstring &name, const vector< wstring > &values) |
| 设置多字符串值 | |
| wstring | get_string_value (const wstring &name, const wstring &default_val=L"") const |
| 获取字符串值 | |
| ::DWORD | get_dword_value (const wstring &name, DWORD default_val=0) const noexcept |
| 获取32位整数值 | |
| ::ULONGLONG | get_qword_value (const wstring &name, ULONGLONG default_val=0) const noexcept |
| 获取64位整数值 | |
| vector< byte_t > | get_binary_value (const wstring &name) const |
| 获取二进制值 | |
| vector< wstring > | get_multi_string_value (const wstring &name) const |
| 获取多字符串值 | |
| ::HKEY | native_handle () const noexcept |
| 获取原生注册表句柄 | |
| void | open (::HKEY root, const wstring &path, wow64_view view, ::REGSAM sam_desired=KEY_READ|KEY_WRITE) |
| 打开注册表项 | |
| bool | notify_change (bool watch_subtree=true, int timeout_ms=-1) |
| 监听注册表项变更(阻塞直到变更或超时) | |
静态 Public 成员函数 | |
| static void | delete_key_tree (::HKEY root, const wstring &path) |
| 递归删除注册表项树 | |
|
strong |
系统注册表值类型枚举
定义系统注册表支持的值类型。
| 枚举值 | |
|---|---|
| none | 无类型 |
| string | 字符串类型 |
| expand_string | 可扩展字符串 |
| binary | 二进制数据 |
| dword | 32位无符号整数 |
| qword | 64位无符号整数 |
| multi_string | 多字符串类型 |
在文件 registry_key.hpp 第 100 行定义.
| enum neforce::registry_key::wow64_view : ::REGSAM |
注册表 32/64 位视图控制
| 枚举值 | |
|---|---|
| view_default | 默认视图 |
| view_32bit | 32 位视图 |
| view_64bit | 64 位视图 |
在文件 registry_key.hpp 第 114 行定义.
|
default |
默认构造函数
构造一个无效的注册表项对象。
引用了 registry_key().
被这些函数引用 open_sub_key(), operator=(), registry_key(), registry_key(), registry_key() , 以及 ~registry_key().
|
explicit |
| neforce::registry_key::~registry_key | ( | ) |
|
noexcept |
| void neforce::registry_key::create_sub_key | ( | const wstring & | name | ) |
|
static |
递归删除注册表项树
| root | 根键 |
| path | 完整路径 |
递归删除指定路径下的所有子项和值。
| void neforce::registry_key::delete_sub_key | ( | const wstring & | name | ) |
| void neforce::registry_key::delete_value | ( | const wstring & | name | ) |
|
nodiscard |
获取二进制值
| name | 值名称 |
| registry_key_exception | 当值不存在或类型不是REG_BINARY时抛出 |
引用了 get_binary_value().
被这些函数引用 get_binary_value().
|
nodiscardnoexcept |
获取32位整数值
| name | 值名称 |
| default_val | 默认值(当值不存在时返回) |
|
nodiscard |
获取多字符串值
| name | 值名称 |
| registry_key_exception | 当值不存在或类型不是REG_MULTI_SZ时抛出 |
被这些函数引用 get_multi_string_value().
|
nodiscardnoexcept |
获取64位整数值
| name | 值名称 |
| default_val | 默认值(当值不存在时返回) |
引用了 get_qword_value().
被这些函数引用 get_qword_value().
|
nodiscard |
检查是否存在指定的子项
| name | 子项名称 |
|
nodiscard |
检查是否存在指定的值
| name | 值名称 |
|
inlinenodiscardnoexcept |
检查注册表项是否有效
在文件 registry_key.hpp 第 207 行定义.
引用了 is_valid().
被这些函数引用 is_valid() , 以及 operator bool().
|
inlinenodiscardnoexcept |
| bool neforce::registry_key::notify_change | ( | bool | watch_subtree = true, |
| int | timeout_ms = -1 ) |
监听注册表项变更(阻塞直到变更或超时)
| watch_subtree | 是否同时监听子项 |
| timeout_ms | 超时毫秒,-1 无限等待 |
| registry_key_exception | 监听失败时抛出 |
| void neforce::registry_key::open | ( | ::HKEY | root, |
| const wstring & | path, | ||
| ::REGSAM | sam_desired = KEY_READ|KEY_WRITE ) |
打开注册表项
| root | 根键 |
| path | 完整路径 |
| sam_desired | 访问权限,默认为读写 |
| registry_key_exception | 当打开失败时抛出 |
打开指定的注册表路径,替换当前对象的内容。原有句柄将被关闭。
| void neforce::registry_key::open | ( | ::HKEY | root, |
| const wstring & | path, | ||
| wow64_view | view, | ||
| ::REGSAM | sam_desired = KEY_READ|KEY_WRITE ) |
|
nodiscard |
打开子项
| name | 子项名称 |
| sam_desired | 访问权限,默认为只读 |
| registry_key_exception | 当子项不存在或打开失败时抛出 |
引用了 registry_key().
|
inlineexplicitnoexcept |
|
noexcept |
| void neforce::registry_key::set_binary_value | ( | const wstring & | name, |
| const ::BYTE * | data, | ||
| ::DWORD | size ) |
设置二进制值
| name | 值名称 |
| data | 二进制数据指针 |
| size | 数据大小(字节) |
| registry_key_exception | 当写入失败时抛出 |
引用了 neforce::data() , 以及 neforce::size().
| void neforce::registry_key::set_dword_value | ( | const wstring & | name, |
| ::DWORD | value ) |
| void neforce::registry_key::set_qword_value | ( | const wstring & | name, |
| ::ULONGLONG | value ) |