Лучшее место для сохранения информации о пользователях для приложений Windows XP и Vista - PullRequest
3 голосов
/ 29 сентября 2008

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

Так, какова лучшая папка (или способ), чтобы сохранить это в?

Редактировать: Использование C ++.

Ответы [ 6 ]

3 голосов
/ 29 сентября 2008

Похоже на C: \ Documents and Settings \% username% \ Local Settings \ Application Data могут быть подходящим местом в соответствии с Wikipedia . В статье говорится, что это местоположение используется для «пользовательских и компьютерных настроек приложения».

Редактировать: Cruizer указал в комментариях (я бы ответил там, но пока не могу комментировать), что в Vista это C: \ Users \% username% и что его не следует жестко кодировать. Спасибо.

2 голосов
/ 29 сентября 2008

Используйте API защиты данных (DPAPI) - часть CryptoAPI в XP и Vista. Вот хороший обзор DPAPI - http://msdn.microsoft.com/en-us/library/ms995355.aspx

1 голос
/ 29 сентября 2008

Да, локальный путь к приложению выглядит как победитель.

Я нашел эту статью в MSDN, чтобы получить ее на C ++: http://msdn.microsoft.com/en-us/library/bb762494.aspx

Пример:

char localAppPath[MAX_PATH];
SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, localAppPath);
0 голосов
/ 16 октября 2008

Если вы используете .NET для получения специальных папок, вы можете использовать

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

или

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

для версии без роуминга.

0 голосов
/ 29 сентября 2008

Информация о пользователе всегда должна находиться в некотором подкаталоге в% HOMEDRIVE %% HOMEPATH% (который сопоставляется с домашним каталогом пользователей). Без исключений. Хорошее место для настроек приложения для каждого пользователя - это подкаталог внутри% APPDATA%. Это соответствует: «% HOMEDRIVE %% HOMEPATH% \ Application Data» в XP и: «% HOMEDRIVE %% HOMEPATH% \ AppData \ Roaming» в Vista.

0 голосов
/ 29 сентября 2008

вы используете .NET? как насчет IsolatedStorage ? Таким образом, вам не придется беспокоиться о расположении каталога, он просто будет там ...

...