(转载)RegSetValueEx设置REG_SZ类型键值时要注意的问题
2014-11-23 12:43
351 查看
REG_SZ REG_SZ
在注册表中,REG_SZ,是一种字符串类型,代表一个简单的文本字符串,是最常见的一种数据类型。
其中“SZ”是“String Zero”的缩写,匈牙利命名法,表示null结尾的字符串变量。
注:REG_SZ型注册表值项没有长度限制。
原文出处: http://blog.csdn.net/jun_01/archive/2005/07/05/414959.aspx
假设szValue是一个TCHAR[] .
用以下语句,看起来很正常,但实际却有问题. 数据读取出来后后边有很多乱码.
RegSetValueEx(hKey, _T("Open"), 0, REG_SZ, (BYTE *)szValue, _tcslen(szValue) * sizeof(TCHAR) );
原来是注册表中存字符串数据也得带着那个0;
所以正确做法应该这样:
RegSetValueEx(hKey, _T("Open"), 0, REG_SZ, (BYTE *)szValue, (_tcslen(szValue) + 1) * sizeof(TCHAR));
这时候再看REG_SZ中的"SZ",似乎觉得这个名字起的很好.
在注册表中,REG_SZ,是一种字符串类型,代表一个简单的文本字符串,是最常见的一种数据类型。
其中“SZ”是“String Zero”的缩写,匈牙利命名法,表示null结尾的字符串变量。
注:REG_SZ型注册表值项没有长度限制。
原文出处: http://blog.csdn.net/jun_01/archive/2005/07/05/414959.aspx
假设szValue是一个TCHAR[] .
用以下语句,看起来很正常,但实际却有问题. 数据读取出来后后边有很多乱码.
RegSetValueEx(hKey, _T("Open"), 0, REG_SZ, (BYTE *)szValue, _tcslen(szValue) * sizeof(TCHAR) );
原来是注册表中存字符串数据也得带着那个0;
所以正确做法应该这样:
RegSetValueEx(hKey, _T("Open"), 0, REG_SZ, (BYTE *)szValue, (_tcslen(szValue) + 1) * sizeof(TCHAR));
这时候再看REG_SZ中的"SZ",似乎觉得这个名字起的很好.
相关文章推荐
- 关于 NSIS 写入注册表的问题, REG_MULTI_SZ 类型
- 关于NSIS 写入注册表的问题, REG_MULTI_SZ 类型
- 关于Entity Framework更新的几种方式以及可能遇到的问题(附加类型“Model”的实体失败,因为相同类型的其他实体已具有相同的主键值)在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为
- 操作注册表的API函数介绍(RegSetValueEx:该函数用来设置注册表的键值和键类型)
- 2014-04-16工作日志:error:用RegSetValueEx设置注册表的SZ_DWORD类型的值时,提示无访问内存的权限
- 注意我写的OTA短信同步设置的代码有很多问题
- 关于多普达手机上WIFI和GPRS的设置问题注意几点
- 注意我写的OTA短信同步设置的代码有很多问题
- 【转载】EXCEL中条码问题:条形码能插入,但只有一种类型,数字不能改,修改属性后也不显示
- (C#)Access中插入时间类型注意的问题
- SQL语句编写注意问题(转载:Ayuan)
- 网页打印问题,打印设置,打印预览,打印分页,纵打,横打及页面的边距 (转载)
- 链接和滚动条设置应该注意的问题
- Sqlite DateTime 类型 读取和写入格式 注意的问题
- 转载:学编程的方法及注意的问题
- (转载)职业生涯应该注意的一些问题
- 面试注意的问题(转载)
- 转载:ASP.NET开发应用程序时需要注意的10个问题
- WindowsXP默认设置需注意7个安全问题
- MIME设置问题导致网站上某些类型文件无法下载(以ISO为例)