2

在 Windows 上存储信息有哪些选择?

我正在考虑创建一个文件或使用注册表,但如果文件变得太大并且注册表太容易被用户访问,那么文件可能会变得相当烦人。

我不希望最多有 100 个条目,它们看起来像这样。

约翰香蕉

马库斯·苹果

等等

我意识到这不会产生太大的文件,但我不想每次需要信息时都解析它。我正在考虑在启动时将信息读入应用程序,但这不会造成性能问题吗?或者也许它太小了,除了旧电脑之外没有关系?还有其他选择吗?也许我可以加密信息并将其放入注册表?注册表是否适合放置多个这样的条目?

请注意,当我编程时,有时在提高效率方面有点过火了。原谅我的无知。

4

1 回答 1

4

您问我在 Windows 上存储信息有哪些选择?基本上,有以下三种主要策略:

  1. 使用机器的 Registry 并使用 Registry API 来访问它。
  2. 使用INI 文件格式的纯文本文件并使用 Private Profile String API 访问它。
  3. 使用您自己格式的纯文本文件并使用您自己的文件处理来访问它。

这些策略中的任何一个都将实现您存储数据的目标。

但是,在 Windows 平台上,您必须考虑一个更重要的问题,该问题将为您提供答案:

我的应用程序的用户是否想要将他们的数据移动到另一台机器上并在另一台机器上运行我的应用程序?

如果上述问题的答案是肯定的,那么 (2) 或 (3) 将是您的答案,因为将磁盘上的文件从一台机器移动到另一台机器是一项简单的任务。另一方面,将注册表项从一台机器移动到另一台机器对于普通计算机用户来说并不是一项简单的任务,在应用程序中编写函数以将注册表数据库导出到平面文件并重新导入它们也不是一项简单的任务。

在 (2) 和 (3) 中,(2) 是最简单的,因为Windows 有现有的 API可以为您获取文件的内容;(3) 要求你编写自己的例程。最终,它将取决于您希望如何构建数据。

如果上述问题的答案是否定的,那么 (1)、(2) 或 (3) 中的任何一个都可以,因为用户不会关心数据是如何存储的。

上述策略都不比其他策略更容易访问(如果您担心用户能够查看您的数据)。如果您担心您的数据是可见的,那么将加密添加到您最终选择的方法中。

于 2012-07-02T07:45:26.487 回答