RegistryValueKind.String的最大大小可以是多长时间?

时间:2014-12-29 16:34:39

标签: c# registry

我正在尝试写一个可能很长(大约100k)的字符串值

string key = @"HKEY_CLASSES_ROOT\my-key-name";
string valueName = "my-value-name";
string value = "a-very-long-string ..."; // this could be about 100,000 chars

Microsoft.Win32.Registry.SetValue(key,valueName, value,
   Microsoft.Win32.RegistryValueKind.String);

我没有通过搜索谷歌和...找到任何关于价值大小的文件。 如何确保这适用于大多数操作系统,如Windows XP,Windows 7,Windows Server 2003等。 任何建议表示赞赏。

1 个答案:

答案 0 :(得分:1)

来自MSDN

  • 键名:255个字符。
  • 值名称:16,383个字符
  • 值:可用内存(最新格式)/ 1 MB(标准格式)

所以只要你保持在1 MB以下,你似乎应该是好的。该页面似乎有点旧,所以我猜想1 MB的限制适用于Windows 9x及更早版本。只是一个猜测..!

编辑:是的,正如汉斯刚评论的那样。不好的想法,那不是注册表的用途......