[ad_1]
لقد قمت بتجميع برنامج بسيط متعدد المستخدمين يعمل بشكل رائع من دليل مستخدم الكمبيوتر الشخصي (أ). لكن المشاكل تحدث عندما يقوم المستخدم “ب” إلى المستخدم “د”، على نفس جهاز الكمبيوتر، بتشغيل البرنامج ويحاول الوصول إلى ملفات التاريخ هذه. النتائج عادة ما تكون سيئة للغاية. لقد حاولت تعيين الأذونات لكل مستخدم؛ تحت كل خصائص الملفات – قبل كل تشغيل. ولكن بعد تشغيل البرنامج من المستخدم “ب” إلى المستخدم “د”، يبدو أن الأذونات التي تم تعيينها من قبل قد اختفت، كما لو أنني لم أفعلها على الإطلاق. لقد كان هذا يحدث لفترة من الوقت، ولا أستطيع أن أفهم أي شيء أو ذيل منه. كيف يمكنني أن أجعل الأذونات موثوقة وجيدة وصحيحة، بحيث لا أواجه أي مشاكل في تشغيل البرنامج في أي مكان على هذا الكمبيوتر. بمعنى آخر، تأكد من أن كل شيء يسير كما هو مخطط له، ولا توجد مشاكل. أي أفكار تصحيحية وتساعد بالتأكيد ستكون مفيدة. ما الخطأ الذي أفعله بالرغم من ذلك؟ شكرًا،
ما حاولت:
لقد استخدمت _fsopen()، fopen()، fsopen_s(). تغييره باستمرار، ضجة عليه.
الحل 1
للحصول على المسارات، تحتوي النوافذ على بعض واجهات برمجة التطبيقات الخاصة المسماة واجهة المجلد المعروفةأ أو الأحدث SHGetFolderPath. يتم استخدام المعلمات كمعرف يُرجع المسار.
لكنك تحتاج أولاً إلى بعض المفاهيم لبياناتك. الأفضل هو أن يكون لكل مستخدم بياناته الخاصة، أو بعض البيانات المشتركة. هذا يحل مشكلة الوصول. استخدام الارتفاع فكرة سيئة.
الحل 2
أقترح عليك نقل ملفات البيانات إلى مجلد بيانات “جميع المستخدمين”: يحتوي Windows على مجلد بيانات متاح لجميع المستخدمين: ProgramData.
هذا مجلد مخفي، عادةً ما يكون موجودًا في جذر محرك الأقراص C: (ولكن يمكن نقله – افتح File Explorer واكتب %PROGRAMDATA% في شريط العناوين للعثور عليه). قم بإنشاء مجلد هناك لتطبيقك، ويمكن لجميع المستخدمين الوصول إلى ملفات البيانات الموجودة داخل هذا المجلد بشكل كامل دون أي رفع.
[ad_2]
コメント