注册表编程:
方法一.读取字符串类型数据
1.创建指定的注册表项,如果此表项在注册表中已经存在,则打开它
LONG RegCreateKey( HKEY hKey, // 指向当前打开表项的句柄,或者是与预定义的表项 LPCTSTR lpSubKey, // 打开或者创建的表项的名字 PHKEY phkResult // 返回表项的句柄 );
//预定义的表项
-
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
2.设置指定注册表项中缺省(没有名字)的值
LONG RegSetValue( HKEY hKey, // 指向当前打开的句柄或者预定义的句柄值 LPCTSTR lpSubKey, // 设置Key子项的缺省值,如果设置为NULL,则设置hKey表项。。 DWORD dwType, // 被存储信息的类型 LPCTSTR lpData, // 要存储的值的指针 DWORD cbData // 数据的大小,不包含终止字符 );
3.读取指定注册表项的缺省值
LONG RegQueryValue( HKEY hKey, // 指向表项的句柄 LPCTSTR lpSubKey, // 子项,为NULL,表示获取hKey表项 LPTSTR lpValue, // 获取表项缺省值相关字符串 PLONG lpcbValue // 数据大小 );
4.RegCloseKey(HKEY hKey);//关闭表项
方法二.读写其他类型数据
1.写入
LONG RegSetValueEx( HKEY hKey, // 表项的句柄 LPCTSTR lpValueName, // 要写的值的名称,如果为空就同RegSetValue DWORD Reserved, // 保留 DWORD dwType, // 类型 CONST BYTE *lpData, // 要写入值数据指针 DWORD cbData // 数据大小 );
2.打开注册表项
LONG RegOpenKey( HKEY hKey, // 打开值的注册表项的句柄 LPCTSTR lpSubKey, // 子项 PHKEY phkResult // 返回打开的注册表项 );
3.读取注册表项
LONG RegQueryValueEx( HKEY hKey, // handle to key LPCTSTR lpValueName, // value name LPDWORD lpReserved, // reserved LPDWORD lpType, // type buffer LPBYTE lpData, // data buffer LPDWORD lpcbData // size of data buffer );