<强> 1,RegOpenKeyEx函数:强>
原形:
LONG RegOpenKeyEx (
引用>
才能 ,,,,,,HKEY 根键,,,,,,//,要打开主键名,,
,,,,,,LPCTSTR lpSubKey,,//需要打开的子键或路径,,
,,,,,,DWORD ulOptions,,,//,保留,为0,
,,,,,,REGSAM samDesired,,//,操作权限标志,,
,,,,,,PHKEY phkResult ,//,指向你打开键的句柄(通过指针返回),
,,,,,,,,,,返回值:不成功返回非0,成功返回ERROR_SUCCESS只,
解才能释:该函数负责打开指定的键或子键,如果不存在他不建立。,查看微软官方文档:http://msdn.microsoft.com/zh-cn/aa912084
<强> 2,RegSetValueEx函数:强>
,原形:
LONG RegSetValueEx (
引用>
才能 ,,,,,,HKEY 根键,,,,,,,//,已打开的键的句柄,,
,,,,,,LPCTSTR lpValueName,,//,要查询值的名称,传如\“\”为查询键下的默认值,,
,,,,,,DWORD 保留,,,,//,保留,,
,,,,,,DWORD dwType,,,,,//,写入键值的类型,,
,,,,,,CONST BYTE * lpData,,//,变量数据的地址,,
,,,,,,DWORD cbData ,,,,//,变量的长度,,
,,,,,,,,,返回值:不成功返回非0,成功返回ERROR_SUCCESS ,
,解释:设置某子键下特定名称的值。查看微软官方文档:http://msdn.microsoft.com/zh-cn/aa916717
<强> 3,RegQueryValueEx函数:强>
原形:
LONG RegQueryValueEx (
引用>
才能 ,,,,,,HKEY 根键,,,,,,,//,已打开的键的句柄,,
,,,,,,LPTSTR lpValueName,,//,要查询值的名称,传如\“\”为查询键下的默认值,,
,,,,,,LPDWORD lpReserved,,//,保留,为0,,
,,,,,,LPDWORD lpType,,,,//,查询的类型,,
,,,,,,LPBYTE lpData,,,,,//,数据存放的地址,,
,,,,,,LPDWORD lpcbData ,,//,数据长度+ 1,,
,,,,,,,,,,返回值:不成功返回非0,成功返回ERROR_SUCCESS ,
解才能释:读取某子键下特定名称的值。,查看微软官方文档:http://msdn.microsoft.com/zh-cn/aa914692
写入二进制数据代码示例:
# include & lt; windows.h> # include & lt; tchar.h> int主要(空白) { 根键根键; 根键rootKey=HKEY_CURRENT_USER; TCHAR *注册表子项="微软软件\ \ \ \ Windows \ \ CurrentVersion \ \探险家” “\ \ MenuOrder \ \开始Menu2 \ \程序\ \测试”; TCHAR * keyValue=" c: \ \ test.exe”; 长openReg; 长setRegValue; DWORD dwType=REG_BINARY; 字节值[256]=" c: \ \ test.exe”; openReg=RegOpenKeyEx(注册表子项,rootKey 0 KEY_WRITE,根键); 如果(openReg==ERROR_SUCCESS) { setRegValue=https://www.yisu.com/zixun/RegSetValueEx(根键,_T(“订单”),0,dwType,价值,256); 如果(setRegValue=https://www.yisu.com/zixun/=ERROR_SUCCESS) { 对话框(NULL, _T(“写成功”),_T(“调用”),MB_OK); } 其他的 { 对话框(NULL, _T(“写失败”),_T(“调用”),MB_OK); } RegCloseKey(根键); } 返回0; }读取二进制数据的代码示例:
# include & lt; windows.h> # include & lt; tchar.h> int主要(空白) { 根键根键; 根键rootKey=HKEY_CURRENT_USER; TCHAR *注册表子项="微软软件\ \ \ \ Windows \ \ CurrentVersion \ \探险家” “\ \ MenuOrder \ \开始Menu2 \ \程序\ \测试”; 长openRegResult; 长readRegResult; DWORD dwType=REG_BINARY; REGSAM模式=KEY_READ; 字节值[256]={0}; 字长度=256; 注册表子项,openRegResult=RegOpenKeyEx (rootKey 0,模式,及根键); 如果(ERROR_SUCCESS==openRegResult) { readRegResult=RegQueryValueEx(根键,_T(“订单”),0,,dwType,价值,和长度); 如果(ERROR_SUCCESS==readRegResult) { 对话框(NULL, _T(价值),_T(“调用”),MB_OK); } 其他的 { 对话框(NULL, _T(“错误”),_T(“调用”),MB_OK); } } RegCloseKey(根键); 返回0; }注:读写其他类型的注册表键值与上述的类似,不单独讲解了。
C/c++读写注册表中二进制数据(代码示例)