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

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

编辑:使用C ++。

有帮助吗?

解决方案

看起来像C:\ Documents and Settings \%username%\ Local Settings \ Application Data可能是根据维基百科。该文章称该位置用于“特定于用户和计算机的应用程序设置”。

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

其他提示

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

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

我在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);
你使用.NET吗? IsolatedStorage 怎么样?这样你就不必担心目录的位置了,它只会在那里......

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

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

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

表示非漫游版本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top