保存Windows XP和Vista应用程序用户信息的最佳位置

时间:2008-09-29 04:43:13

标签: file windows-vista windows-xp save

我需要为我正在构建的应用程序以加密形式保存用户的登录信息,但我不确定保存文件的最佳位置。我不想将它保存到程序应用程序文件夹中,因为我希望每个用户使用它。

那么保存它的最佳文件夹(或方式)是什么?

编辑:使用C ++。

6 个答案:

答案 0 :(得分:3)

似乎是C:\ Documents and Settings \%username%\ Local Settings \ Application Data可能是Wikipedia所指的适当位置。该文章称该位置用于“特定于用户和计算机的应用程序设置”。

编辑:Cruizer在评论中指出(我会在那里回复,但我还不能评论)在Vista中它是C:\ Users \%username%并且不应该硬编码。感谢。

答案 1 :(得分:2)

使用Data Protection API(DPAPI) - XP和Vista中CryptoAPI的一部分。以下是对DPAPI的一个很好的概述 - http://msdn.microsoft.com/en-us/library/ms995355.aspx

答案 2 :(得分:1)

是的,本地应用程序路径看起来像赢家。

我在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);

答案 3 :(得分:0)

你使用.NET吗? IsolatedStorage怎么样?这样你就不必担心目录的位置了,它只会在那里......

答案 4 :(得分:0)

用户信息应始终位于%HOMEDRIVE %% HOMEPATH%(映射到用户主目录)的某个子目录中。没有例外。 每个用户的应用程序特定设置的好地方是%APPDATA%内的子目录。这映射到:XP上的“%HOMEDRIVE %% HOMEPATH%\ Application Data”和Vista上的“%HOMEDRIVE %% HOMEPATH%\ AppData \ Roaming”。

答案 5 :(得分:0)

如果您使用.NET获取特殊文件夹,则可以使用

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

表示非漫游版本。