Home / Projects / ExcelDuplicateRemover
Synced with GitHub 0 Stars 0 Forks

Overview

برنامج مكتوب بلغة C# ونظام Windows Forms مخصص للبحث عن وحذف القيم المكررة في ملفات Excel. تم تعديل نظام تفعيل البرنامج ليعتمد على نموذج ترخيص مغلق وشبه اشتراكي (Subscription-like) يتغير شهرياً.

Synchronized repository from GitHub (Kerolosnady1/ExcelDuplicateRemover).

Technologies & Frameworks

Code

Repository Documentation (README.md)

Live Synchronized

Excel Duplicate Remover - نظام التفعيل والترخيص الشهري

برنامج مكتوب بلغة C# ونظام Windows Forms مخصص للبحث عن وحذف القيم المكررة في ملفات Excel.
تم تعديل نظام تفعيل البرنامج ليعتمد على نموذج ترخيص مغلق وشبه اشتراكي (Subscription-like) يتغير شهرياً.


🔑 آلية التفعيل والترخيص (Licensing Mechanics)

1. عند التشغيل لأول مرة (First Run)

  • يكون البرنامج غير مفعل تلقائياً (Deactivated).
  • يظهر للمستخدم واجهة التفعيل مباشرة تحتوي على كود الجهاز الخاص به (Device ID).
  • لا يمكن للمستخدم استخدام البرنامج دون إدخال مفتاح تفعيل صالح.

2. توليد مفاتيح التفعيل المتغيرة شهرياً (Monthly Dynamic Key Generation)

  • تم ربط مفتاح التفعيل بـ كود الجهاز + الشهر الحالي والسنة. هذا يعني أن كود التفعيل يتغير تلقائياً كل شهر ميلادي ولا يمكن إعادة استخدام كود تفعيل قديم بعد انتهاء صلاحيته.
  • يستخدم المطور صفحة مولد مفاتيح التفعيل (KeyGenerator.html) لتوليد مفتاح التفعيل بناءً على كود الجهاز والشهر/السنة المحددين.
  • المولد يختار تلقائياً الشهر والسنة الحاليين، ويمكن للمطور التوليد لأشهر سابقة أو قادمة عند الحاجة.

3. الصلاحية والانتهاء (30-Day Expiry)

  • بمجرد تفعيل البرنامج بمفتاح صالح لشهر محدد، يعمل بشكل كامل لمدة 30 يوماً.
  • يتم عرض الأيام المتبقية للتفعيل في شريط العنوان الرئيسي للبرنامج مثل: (نسخة مفعلة: متبقي 25 يوم).
  • بعد مرور 30 يوماً، تنتهي صلاحية التفعيل وتظهر نافذة تطلب إدخال مفتاح تفعيل جديد للشهر الحالي لمواصلة الاستخدام.

4. فترات السماح للتوقيت (Time/Month Grace Period)

  • لمنع أي تعطل بسبب فروق التوقيت أو تفعيل البرنامج في أواخر الشهر ودخوله في شهر جديد، يدعم منطق التحقق في البرنامج فترة سماح (Grace Period) مقدارها شهر كامل قبل وشهر بعد بالشكل التالي:
  • يقبل البرنامج المفاتيح المولدة لـ: (الشهر الحالي، الشهر السابق، الشهر القادم).
  • بمجرد قبول التفعيل، يتم تصفير عداد الأيام وإعطاء المستخدم 30 يوماً كاملة تبدأ من يوم إدخال الكود.

5. حماية التلاعب بالوقت (Time-Tampering Protection)

  • يحتوي البرنامج على حماية لمنع المستخدمين من إرجاع تاريخ نظام التشغيل للوراء لتمديد الفترة.
  • في حال الكشف عن تلاعب بالوقت، يتم إغلاق البرنامج وإظهار رسالة تفيد باكتشاف التلاعب بالوقت ويطلب التفعيل بمفتاح صالح مجدداً.

🛠️ متطلبات التشغيل وبناء المشروع

المتطلبات (Prerequisites)

  • بيئة عمل .NET 8.0 SDK (أو أحدث).
  • نظام تشغيل Windows 10 / 11.

البناء والتشغيل (Build & Run)

لبناء المشروع وتشغيله باستخدام واجهة سطر الأوامر (CLI):

# الانتقال إلى مجلد المشروع
cd c:\Excel_Project\ExcelDuplicateRemover\ExcelDuplicateRemover

# بناء المشروع
dotnet build

# تشغيل البرنامج
dotnet run

لتوليد نسخة مستقلة (Self-Contained) صالحة للنشر بدون الحاجة لتثبيت الـ .NET runtime لدى العميل:

dotnet publish -c Release -r win-x64 --self-contained true

سوف تجد الملف التنفيذي النهائي في المجلد: bin\Release\net8.0-windows\win-x64\publish\


📁 هيكلية ملفات التفعيل الرئيسية

  • LicenseManager.cs: المسؤول عن عمليات التشفير والتحقق وحفظ البيانات في الريجستري.
  • Program.cs: يتحقق من حالة الرخصة قبل إطلاق الواجهة الرئيسية.
  • ActivationForm.cs: واجهة التفعيل التي تظهر للعميل لطلب المفتاح وإدخاله (تم تهيئتها لفتح 3 محادثات واتساب للدعم الفني معاً).
  • KeyGenerator.html: أداة المطور لتوليد مفاتيح الترخيص للعملاء مع إمكانية تحديد الشهر والسنة.
← Back to All Projects Discuss This Project →