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

file save windows-vista windows-xp

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

それではそれを保存するための最良のフォルダ(または方法)は何ですか?

編集:Cを使用する。

  3  2


ベストアンサー

http://en.wikipedia.org/wiki/Special_Folders[Wikipedia]によると、C:¥Documents and Settings¥%username%¥Local Settings¥Application Dataが適切な場所である可能性があります。 記事には、この場所は「ユーザー固有およびコンピューター固有のアプリケーション設定」に使用されると記載されています。

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

3


XPとVistaのCryptoAPIの一部であるData Protection API(DPAPI)を使用します。 これがDPAPIの概要です – http://msdn.microsoft.com/en-us/library/ms995355.aspx

2


ええ、ローカルアプリケーションパスは勝者のように見えます。

私はCでそれを得るためにMSDNでこの記事を見つけました:http://msdn.microsoft.com/en-us/library/bb762494.aspx

例:

char localAppPath [MAX_PATH]; SHGetFolderPath(NULL、CSIDL_LOCAL_APPDATA、NULL、SHGFP_TYPE_CURRENT、localAppPath);

1


あなたは.NETを使用していますか? IsolatedStorageはどうですか。 そうすれば、ディレクトリの場所を気にする必要はなくなります。

0


ユーザー情報は、常に%HOMEDRIVE %% HOMEPATH%(ユーザーのホームディレクトリに対応する)内のサブディレクトリに配置する必要があります。 例外なく。 ユーザーごとのアプリケーション固有の設定に適した場所は、%APPDATA%内のサブディレクトリです。 これは、XPでは「%HOMEDRIVE %% HOMEPATH%\ Application Data」に、Vistaでは「%HOMEDRIVE %% HOMEPATH%\ AppData \ Roaming」にマッピングされます。

0


あなたが特別なフォルダを得るために.NETを使っているならば、あなたは使うことができます

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

または

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

ローミング以外のバージョンの場合

0


タイトルとURLをコピーしました