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); |