首页 > 其他 > 详细

(转载)RegSetValueEx设置REG_SZ类型键值时要注意的问题

时间:2014-11-23 12:57:00      阅读:327      评论:0      收藏:0      [点我收藏+]

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",似乎觉得这个名字起的很好.

(转载)RegSetValueEx设置REG_SZ类型键值时要注意的问题

原文:http://www.cnblogs.com/kmshhl/p/4116376.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!