حيث لوضع ملفات التهيئة في ويندوز
-
12-09-2019 - |
سؤال
أنا أبحث عن نقطة انطلاق مقبولة لوضع إعدادات التطبيقات في جهاز 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
لبيانات عدم التجوال (البيانات التي لا ينبغي نسخها عبر الشبكة عندما يسجل المستخدم إلى جهاز مختلف).