Разработка Win32.стандарты - PullRequest
1 голос
/ 14 февраля 2011

Обращение ко всем разработчикам Win32 ... Я разрабатываю приложение на C, используя обычный Win32. Я хотел спросить о стандартах разработки Windows относительно этих вещей:

  • Существует ли стандартный API журнала ошибок Windows? Например, если мой клиент использует мое приложение и оно дает сбой, я бы хотел, чтобы они отправили мне журнал ошибок, и я бы предпочел, чтобы это было стандартное расположение, чтобы они могли получить к нему доступ с помощью стандартной утилиты журнала Windows.

  • Мое приложение должно хранить информацию о настройках. Я думаю, что реестр является стандартной утилитой для этой задачи. Это верно?

  • Моему приложению необходимо хранить и извлекать файлы, загруженные из Интернета - изображения, исполняемые файлы и т. Д. Является ли Application Data/myapp стандартным местом для хранения информации такого типа?

  • Моему приложению нужна очень простая база данных - для этого я использую CSV. Мне в основном нужно хранить и извлекать данные такого типа, поэтому я просто сериализую файл .csv из Application Data/myapp. Есть ли лучший стандартный способ сделать это в Windows?

Пока это все :). Спасибо!

1 Ответ

2 голосов
/ 15 февраля 2011

Существует ли стандартный API-интерфейс журнала ошибок Windows?

Есть журнал событий Windows, но я не думаю, что вам нужно, чтобы обычный пользователь заходил в него, чтобы извлечьрегистрируемая информация.

Вы, вероятно, не хотите регистрироваться по умолчанию, если только вы не отправляете сомнительный предварительный код.Когда у пользователя возникают проблемы, вы можете включить его.В этом случае я рекомендую разместить файл там, где работают обычные пользователи, например, «Мои документы».

Кстати, если вы пишете отдельное приложение и хотите получить максимально возможную информацию в случаесбой, посмотрите на мини-дампы. Вот пример кода проекта .

Мое приложение должно хранить информацию о настройках

Да, реестр.

Мое приложение должно хранить и извлекать файлы

Да, данные приложения.Обязательно используйте SHGetFolderPath и CSIDL_APPDATA.

Моему приложению нужна очень простая база данных

В CSV нет ничего плохого для простых данных.Вы можете хранить данные в XML и использовать MSXML для их обработки, если хотите.Я использовал SQlite в прошлом, когда мне нужно было быстрое и легкое хранилище более сложных данных.

...