【问题标题】:Win32 development. StandardsWin32开发。标准
【发布时间】:2011-02-14 08:39:34
【问题描述】:

呼吁所有 Win32 开发人员...我正在使用普通 Win32 用 C 语言开发应用程序。我想询问有关这些方面的 Windows 开发标准:

  • 是否有标准的 Windows 错误日志 API?例如,如果我的客户使用我的应用程序并且它崩溃了,我希望他们向我发送错误日志,我希望这是一个标准位置,以便他们可以使用标准 Windows 日志实用程序访问它。

    李>
  • 我的应用需要存储设置信息。我认为注册表是此任务的标准实用程序。对吗?

  • 我的应用需要存储和检索从 Internet 下载的文件 - 图像、可执行文件等。Application Data/myapp 是存储此类信息的标准位置吗?

  • 我的应用程序需要一个非常简单的数据库 - 我为此使用 CSV。我基本上需要存储和检索这种类型的数据,所以我只是从Application Data/myapp 序列化一个.csv 文件。是否有更好的 Windows 标准方法来执行此操作?

暂时就这些了 :)。谢谢!

【问题讨论】:

  • 不要硬编码路径 - 使用 msdn.microsoft.com/en-us/library/bb762181%28v=vs.85%29.aspx 代替,它尊重本地化...
  • 是的,我没有对它们进行硬编码......这只是表示我正在使用该路径的一种方式。
  • 这个问题太宽泛了。我投票结束这个分数。您需要一次一个地提出这些问题。
  • @David - 谁在乎,如果您有答案之一,请回答,如果没有,请忽略它。所有问题都有一个共同主题 - Windows 应用程序的标准存储配置 - 所以我认为将它们全部放在一个地方并没有那么糟糕。
  • @Luca 据我了解,这不是这里的工作方式。至于您的问题,我认为您可能希望区分应用程序的存储空间和用户个人资料中的每用户存储空间。注册表中的设置足够标准,但我想您精通文本文件,所以为什么不这样做。将用户设置存储在用户配置文件中,并将应用设置存储在您所称的 Application Data 中。 MSDN 上有很多关于此的内容。

标签: c windows database winapi standards


【解决方案1】:

是否有标准的 Windows 错误日志 API?

有 Windows 事件日志,但我认为您不希望普通用户必须进入它来提取您记录的信息。

您可能不希望默认登录,除非您发送有问题的预发布代码。当用户遇到问题时,您可以让他们打开登录。在这种情况下,我建议将文件放在典型用户有经验的地方,例如我的文档。

顺便说一句,如果您正在编写一个独立的应用程序并希望在发生崩溃时获得最佳信息,请查看 minidumps。 Here is a Codeproject sample.

我的应用需要存储设置信息

是的,注册表。

我的应用需要存储和检索文件

是的,应用数据。请务必使用 SHGetFolderPath 和 CSIDL_APPDATA。

我的应用需要一个非常简单的数据库

对于简单数据,CSV 没有任何问题。如果您愿意,您可以将数据存储在 XML 中并使用 MSXML 来处理它。过去,当我需要快速、轻量级地存储更复杂的数据时,我使用过 SQlite。

【讨论】:

  • 这是很好的信息。非常感谢杰夫。可能的话 +30。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-26
相关资源
最近更新 更多