| RegCreateKey | 建立或打开注册表项 |
| RegOpenKey | 打开注册表项 |
| RegSetValue | 写入注册表 (写目录或子目录的默认值) |
| RegSetValueEx | 写入注册表 (写键名和键值) |
| RegQueryValue | 读取注册表(读目录的默认值) |
| RegQueryValueEx | 读取注册表(读指定键的值) |
| RegDeleteKey(KEY hKey,LPCTSTR lpSubKey) | 删除注册表项 |
| RegDeleteValue(HKEY hKey,LPCTSTR lpValueName) | 删除注册表键值 |
| RegEnumKey | 枚举子目录 |
| RegEnumKeyEx | 枚举键名 |
| RegEnumValue | 枚举键名和键值 |
| LONG RegCreateKey( KEY hKey, LPCTSTR lpSubKey, PHKEY phkResult) |
| LONG RegOpenKey( KEY hKey, LPCTSTR lpSubKey, PHKEY phkResult) |
| 参数 | 描述 | 示例 |
|---|---|---|
| hKey | 注册表项的句柄 | HKEY 常量有: HKEY_CLASSES_ROOT |
| lpSubKey | 注册表路径 | |
| phkResult | HKEY 注册表句柄, 输出参数 | |
| 返回值 | 0 成功 |
| LONG RegSetValue( HKEY hKey, LPCTSTR lpSubKey, DWORD dwType, LPCTSTR lpData, DWORD cbData ) |
| LONG RegSetValueEx( HKEY hKey, LPCTSTR lpValueName, DWORD reserved, DWORD dwType, LPCTSTR lpData, DWORD cbData ) |
| 参数 | 描述 |
|---|---|
| hKey | 注册表项的句柄 |
| lpSubKey | 子目录名, 自动创建, 若为 NULL 或 "", 写 hKey 的默认值 |
| dwType | 存储的数据类型, 参见 dwType |
| lpData | 数据指针 |
| cbData | 数据大小 |
| lpValueName | 键的名称 |
| reserved | 保留, 必须为 0 |
| LONG RegQueryValue( HKEY hKey, LPCTSTR lpSubKey, LPTSTR lpValue, PLONG lpcbValue ) |
| LONG RegQueryValueEx( HKEY hKey, LPTSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData ) |
| 参数 | 描述 |
|---|---|
| hKey | 注册表项的句柄 |
| lpSubKey | 子目录名, 可为 NULL 或 "" |
| lpValue | 字符串缓冲区, 或为 NULL 则不取数据 |
| lpcbValue | 字符串缓冲区长度变量指针, 输入 实际数据长度, 输出 |
| lpValueName | 键的名称, 或为 NULL 或 "", 则取默认值 |
| reserved | 保留, 必须为 0 |
| lpType | 类型接收地址 |
| lpData | 数据接收缓冲区, 或为 NULL 不取数据 |
| lpcbData | 数据缓冲区长度变量指针, 输入 实际数据长度(含 \0 结尾), 输出 |
| 返回值 | 成功返回 ERROR_SUCCESS |
| RegEnumKey(HKEY hKey,DWORD dwIndex,LPTSTR lpName,DWORD cbName) |
| LONG RegEnumKeyEx( HKEY hKey, DWORD dwIndex, LPTSTR lpName, LPDWORD lpcName, LPDWORD lpReserved, LPTSTR lpClass, LPDWORD lpcClass, PFILETIME lpftLastWriteTime ); |
| 参数 | 描述 |
|---|---|
| hKey | 注册表项的句柄 |
| dwIndex | 序号, 从 0 起 |
| lpName | 名字缓冲区 |
| cbName | 缓冲区大小 |
| lpcName | 名字缓冲区大小, 输入输出参数 |
| lpReserved | 保留, 总是 0 |
| lpClass | 分类缓冲区, 输出, 设为 NULL 可在 lpcClass 中取得大小 |
| lpcClass | 分类缓冲区大小, 输入输出 |
| lpftLastWriteTime | 时间结构地址, 输出最后一次写入日期 |
| 返回值 | ERROR_SUCCESS : 成功 ERROR_NO_MORE_ITEMS : 没有更多的项目 ERROR_MORE_DATA : 缓冲区不够 |
| LONG RegEnumValue ( HKEY hKey, DWORD dwIndex, LPSTR lpValueName, LPDWORD lpcbValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData ); |
| 参数 | 描述 |
|---|---|
| hKey | 注册表项的句柄 |
| dwIndex | 序号, 从 0 起 |
| lpValueName | 键名缓冲区 |
| lpcbValueName | 键名缓冲区大小, 输入输出 |
| lpReserved | 保留, 总是 0 |
| lpType | 类型地址, 输出 |
| lpData | 数据地址, 输出 |
| lpcbData | 数据地址大小, 输入输出 |
| 常量 | 描述 |
|---|---|
| REG_BINARY | 二进制数据 |
| REG_DWORD | 32 位数字 |
| REG_DWORD_LITTLE_ENDIAN | 低字节在前的 32 位数字, 同上 |
| REG_DWORD_BIG_ENDIAN | 高字节在前的 32 位数字 |
| REG_EXPAND_SZ | 以 0 结尾的字符串, 包含对环境变量(%PATH)的未扩展引用 |
| REG_LINK | Unicode 格式的带符号链接 |
| REG)MULTI_SZ | 以 0 结尾的字符串数组, 以连接两个 0 为终止符 |
| REG_NONE | 未定义类型 |
| REG_RESOURCE_LIST | 设备驱动器资源列表 |
| REG_SZ | 以 0 结尾的字符串 |
| HKEY hkey1, hkey2, hkey3; RegOpenKey(HKEY_CURRENT_USER,"software", &hkey1); RegOpenKey(hkey1,"tcmessage",&hkey2); RegOpenKey(hkey2,"auto",&hkey3); a = RegSetValue(hkey3,"set",REG_SZ,"tancheng123",4); RegCloseKey(hkey1); RegCloseKey(hkey2); RegCloseKey(hkey3); |