سؤال

أنا أبحث عن نقطة انطلاق مقبولة لوضع إعدادات التطبيقات في جهاز Windows. لدي أكثر من تطبيق واحد. لأسباب شخصية، لا أرغب في استخدام السجل: أفضل ملفات تهيئة النص العادي (.ini). أنا أيضا لا أشعر بالاحتفاظ بالملفات في نفس الدليل مثل الملفات التنفيذية، يسمح لي الموقف المثالي بإبقائها في مكان ما عاما حيث يسمح للمستخدمين أو مسؤولو النظام بالكتابة.

صحيح، أنا لست مستخدم Windows، فإن تخمين الأول سيكون $HOME/.my_company_name و /etc/my_company_name, ، ولكن هل هناك شيء يعادل من الناحية النظرية لهذه الأماكن في ويندوز؟

مجرد النظر إلى SET الإخراج والتخمين:

٪ appdata ٪٪ homedrive ٪٪ homepath٪  الإعدادات المحلية٪ systemroot٪

بالمناسبة: ما زلت يجب أن أتحقق مما لا يزال هناك هذه المتغيرات موجودة من داخل خدمة Windows ...

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

المحلول

أعتقد أن AppData هو ما تريد.

يمكنك استخدام shgetfolderpath (من shfolder.dll) للحصول على هذا برمجيا.

من MSDN "البيانات والإعدادات" إدارة " (انظر القسم 4.2 "تصنيف بيانات التطبيق وتخزينها بشكل صحيح"):

TCHAR szAppData[MAX_PATH];
…
hr = SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, szAppData);

ألحق [company name]\[product name]\[version] إلى szappdata باستخدام pathappend.:

PathAppend(szAppData, "Company\Product\1.0\File.ini")

يوجد ايضا CSIDL_COMMON_APPDATA لبيانات غير مستخدم محددة CSIDL_LOCAL_APPDATA لبيانات عدم التجوال (البيانات التي لا ينبغي نسخها عبر الشبكة عندما يسجل المستخدم إلى جهاز مختلف).

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