系统注册表项类
更多...
#include <registry.hpp>
|
| | 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 |
| | 获取原生注册表句柄
|
系统注册表项类
系统注册表项的打开、创建、读写和枚举操作。
在文件 system/registry.hpp 第 62 行定义.
◆ value_type
系统注册表值类型枚举
定义系统注册表支持的值类型。
| 枚举值 |
|---|
| none | 无类型
|
| string | 字符串类型
|
| expand_string | 可扩展字符串
|
| binary | 二进制数据
|
| dword | 32位无符号整数
|
| qword | 64位无符号整数
|
| multi_string | 多字符串类型
|
在文件 system/registry.hpp 第 106 行定义.
◆ registry_key() [1/3]
| registry_key::registry_key |
( |
| ) |
|
|
default |
◆ registry_key() [2/3]
| registry_key::registry_key |
( |
::HKEY | key | ) |
|
|
explicit |
◆ ~registry_key()
| registry_key::~registry_key |
( |
| ) |
|
◆ registry_key() [3/3]
◆ create_sub_key()
| void registry_key::create_sub_key |
( |
const wstring & | name | ) |
|
创建子项
- 参数
-
- 异常
-
在当前项下创建指定的子项。如果子项已存在,则直接打开。
引用了 name().
◆ delete_key_tree()
| void registry_key::delete_key_tree |
( |
::HKEY | root, |
|
|
const wstring & | path ) |
|
static |
递归删除注册表项树
- 参数
-
递归删除指定路径下的所有子项和值。
◆ delete_sub_key()
| void registry_key::delete_sub_key |
( |
const wstring & | name | ) |
|
删除子项
- 参数
-
- 异常
-
- 注解
- 子项必须为空,否则删除失败。如需删除包含子项的项,请使用delete_key_tree。
引用了 name().
◆ delete_value()
| void registry_key::delete_value |
( |
const wstring & | name | ) |
|
◆ enum_sub_key_names()
◆ enum_values()
◆ get_binary_value()
◆ get_dword_value()
| ::DWORD registry_key::get_dword_value |
( |
const wstring & | name, |
|
|
DWORD | default_val = 0 ) const |
|
nodiscardnoexcept |
获取32位整数值
- 参数
-
| name | 值名称 |
| default_val | 默认值(当值不存在时返回) |
- 返回
- DWORD值
引用了 name().
◆ get_multi_string_value()
◆ get_qword_value()
| ::ULONGLONG registry_key::get_qword_value |
( |
const wstring & | name, |
|
|
ULONGLONG | default_val = 0 ) const |
|
nodiscardnoexcept |
◆ get_string_value()
获取字符串值
- 参数
-
| name | 值名称 |
| default_val | 默认值(当值不存在时返回) |
- 返回
- 字符串值
- 异常
-
引用了 name().
◆ has_sub_key()
| bool registry_key::has_sub_key |
( |
const wstring & | name | ) |
const |
|
nodiscard |
检查是否存在指定的子项
- 参数
-
- 返回
- 存在返回true,否则返回false
引用了 name().
◆ has_value()
| bool registry_key::has_value |
( |
const wstring & | name | ) |
const |
|
nodiscard |
检查是否存在指定的值
- 参数
-
- 返回
- 存在返回true,否则返回false
引用了 name().
◆ is_valid()
| bool registry_key::is_valid |
( |
| ) |
const |
|
inlinenodiscardnoexcept |
◆ native_handle()
| ::HKEY registry_key::native_handle |
( |
| ) |
const |
|
inlinenodiscardnoexcept |
◆ open()
| void registry_key::open |
( |
::HKEY | root, |
|
|
const wstring & | path, |
|
|
::REGSAM | sam_desired = KEY_READ|KEY_WRITE ) |
打开注册表项
- 参数
-
| root | 根键 |
| path | 完整路径 |
| sam_desired | 访问权限,默认为读写 |
- 异常
-
打开指定的注册表路径,替换当前对象的内容。原有句柄将被关闭。
◆ open_sub_key()
| registry_key registry_key::open_sub_key |
( |
const wstring & | name, |
|
|
REGSAM | sam_desired = KEY_READ ) const |
|
nodiscard |
◆ operator bool()
| registry_key::operator bool |
( |
| ) |
const |
|
inlineexplicitnoexcept |
◆ operator=()
◆ set_binary_value()
| void registry_key::set_binary_value |
( |
const wstring & | name, |
|
|
const ::BYTE * | data, |
|
|
::DWORD | size ) |
◆ set_dword_value()
| void registry_key::set_dword_value |
( |
const wstring & | name, |
|
|
::DWORD | value ) |
◆ set_expand_string_value()
| void registry_key::set_expand_string_value |
( |
const wstring & | name, |
|
|
const wstring & | value ) |
◆ set_multi_string_value()
| void registry_key::set_multi_string_value |
( |
const wstring & | name, |
|
|
const vector< wstring > & | values ) |
设置多字符串值
- 参数
-
- 异常
-
多字符串值是以空字符分隔、双空字符结尾的字符串列表。
引用了 name().
◆ set_qword_value()
| void registry_key::set_qword_value |
( |
const wstring & | name, |
|
|
::ULONGLONG | value ) |
◆ set_string_value()
| void registry_key::set_string_value |
( |
const wstring & | name, |
|
|
const wstring & | value ) |
该类的文档由以下文件生成: