Windows XPおよびVistaアプリケーションのユーザー情報を保存するのに最適な場所

StackOverflow https://stackoverflow.com/questions/147533

質問

このアプリケーションを作成するために、ユーザーのログイン情報を暗号化された形式で保存する必要がありますが、ファイルを保存するのに最適な場所がわかりません。ユーザーごとに必要なため、プログラムアプリケーションフォルダーに保存したくありません。

では、保存するのに最適なフォルダー(または方法)は何ですか?

編集:C ++の使用。

役に立ちましたか?

解決

ウィキペディア。記事では、この場所は「ユーザー固有およびコンピューター固有のアプリケーション設定」に使用されると述べています。

編集:Cruizerはコメントで指摘しました(私はそこに返信しますが、まだコメントできません)。VistaではC:\ Users \%username%であり、ハードコードするべきではないありがとう。

他のヒント

データ保護API(DPAPI)-XPおよびVistaのCryptoAPIの一部を使用します。 DPAPIの概要は次のとおりです- http://msdn.microsoft.com/en -us / library / 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%\ AppData \ Roaming" Vistaで。

.NETを使用して特別なフォルダーを取得する場合は、使用できます

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

または

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

非ローミングバージョンの場合。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top