أفضل مكان حفظ معلومات المستخدم ويندوز XP و Vista التطبيقات

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

سؤال

أنا بحاجة إلى حفظ تسجيل الدخول للمستخدم المعلومات في نموذج مشفر على هذا التطبيق أنا المبنى ، ولكن لست متأكدا من أفضل مكان لحفظ الملف.أنا لا أريد حفظه في البرنامج مجلد التطبيق كما أريد لكل مستخدم.

لذلك ما هو أفضل المجلد (أو طريقة) لحفظه ؟

تحرير:باستخدام C++.

هل كانت مفيدة؟

المحلول

يبدو C:\Documents and Settings\%username%\إعدادات المحلية\بيانات التطبيق قد يكون المكان المناسب وفقا ويكيبيديا.يقول المقال هذا الموقع يستخدم "الخاصة بالمستخدم و الكمبيوتر الخاصة إعدادات التطبيق".

تحرير:Cruizer أشار في التعليقات (أود الرد هناك ولكن لا أستطيع التعليق بعد) هذا في ويندوز فيستا هو C:\Users\%username% وأنه لا ينبغي أن يكون الثابت تلوينها.شكرا

نصائح أخرى

استخدام حماية البيانات API (DPAPI) - جزء من CryptoAPI في XP و Vista.وهنا لمحة عامة جيدة من 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);

هل تستخدم .الشبكة ؟ ماذا عن IsolatedStorage?بهذه الطريقة لن يكون لديك ما يدعو للقلق حول موقع الدليل سيكون هناك...

معلومات المستخدم يجب أن تذهب دائما في بعض دون دليل %HOMEDRIVE%%HOMEPATH% (والتي الخرائط للمستخدمين المنزل الدليل).لا استثناءات.مكان جيد لتطبيق إعدادات محددة لكل مستخدم هو دليل فرعي داخل %APPDATA%.هذه الخرائط:"%HOMEDRIVE%%HOMEPATH%\بيانات التطبيق" على XP و إلى:"%HOMEDRIVE%%HOMEPATH%\AppData\التجوال" على ويندوز فيستا.

إذا كنت تستخدم .صافي للحصول على المجلدات الخاصة يمكنك استخدام

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

أو

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

غير التجوال الإصدار.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top