Определите, когда мое приложение запускается в первый раз - PullRequest
0 голосов
/ 27 августа 2011

У меня есть собственное приложение WinApi C ++, которое находит медиа-файлы (.wmv, .mp3 и т. Д.) В указанном каталоге и создает случайные списки воспроизведения.При первом запуске приложения (и только в первый раз) я хочу предложить пользователю указать «домашний» каталог, в котором приложение всегда будет проверять наличие медиафайлов и создавать список воспроизведения из.

Моя проблема: Я не знаю, как определить, когда приложение запускается в первый раз?

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

Вот некоторые идеи, которые я придумала: (но оникажутся хаки или излишни (идея инсталлятора)(Я думал, что если кто-то устанавливает приложение, то я знаю, что это первый запуск, и я могу подсказать их тогда).

Я мог бы иметь текстовый файл (или xml) с именем appData.txt и иметь 1-ю строку, где я храню домашний каталог путей.Таким образом, "home_path = undefined", при запуске приложения, я смотрю в текстовом файле, если home_path == undefined, тогда я предлагаю им указать домашний путь, если он не неопределен, тогда я читаю этот каталог для медиа-файлов.

Есть идеи, как определить, когда мое приложение запускается в первый раз?

Ответы [ 4 ]

3 голосов
/ 27 августа 2011

В установщике вы можете создать значение реестра для вашей программы.

Затем, когда вы запустите вашу программу, проверьте значение реестра.
Когда вы запускаете программу в первый раз, обновите это значение, чтобы вы знали, что оно уже запущено.

2 голосов
/ 28 августа 2011

Я бы использовал текстовый файл, потому что вам все равно придется где-то хранить каталог пользователя, а также использовать его для обнаружения первого запуска. У него есть дополнительный бонус: если файл будет удален, вы будете знать, что вам нужно будет снова запросить пользователя, поскольку вы больше не знаете его домашний каталог.

1 голос
/ 27 августа 2011

Вы можете установить некоторые значения реестра, когда ваше приложение запускается впервые, и проверять его при каждом запуске.Если он уже установлен, то приложение уже запущено.Если нет - установите его.

1 голос
/ 27 августа 2011

Создать файл журнала при первом запуске.Если он существует, то это не первый раз.

try
{
  // open log.txt
  // do second time run logic here
}
catch(file does not exist)
{
  // create log.txt
  // first run logic here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...