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

本文关键字:String RegistryValueKind | 更新日期: 2023-09-27 18:35:31

我正在尝试编写一个可能很长的字符串值(大约 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等。任何建议都值得赞赏。

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

来自 MSDN:

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

因此,只要您将其保持在1 MB以下,似乎您应该很好。该页面看起来确实有点旧,所以我猜 1 MB 的限制适用于 Windows 9x 及更早版本。不过只是一个猜测..!

编辑:是的,正如汉斯刚刚评论的那样。坏主意,这不是注册表的用途...