في عصر احترام حقوق الطبع والنشر للبرامج، أصبح تطبيق البرامج المسجلة إلكترونيًا أكثر انتشارًا. يتيح مظهره للمستخدمين الحصول على فهم معين للوظائف غير المقيدة في البرنامج، ويلعب دورًا في الترويج والنشر، ويحمي أيضًا المصالح الحيوية للمنتج. إذًا، كيف يمكننا إنشاء نسخة تسجيل إلكترونية للبرنامج؟
وبعد بعض الاستكشاف، قام المؤلف ببساطة بإنشاء نسخة تسجيل إلكترونية للبرنامج باستخدام لغة VB.
مبادئ التصميم
استخدم وظيفة "GetVolumeInformation" في واجهة برمجة التطبيقات لاستخراج الرقم التسلسلي للقرص الصلب لجهاز المستخدم كرمز ميزة، ويتم إرسال هذا الرمز أثناء التسجيل، ويتم حسابه بواسطة مالك حقوق الطبع والنشر للبرنامج لإعطاء رمز التسجيل أخيرًا يقوم المستخدم بإدخال رمز التسجيل لإكمال عملية التسجيل بأكملها (لتبسيط الشرح، في هذا المثال، يتم استخدام رمز الميزة ناقص 101 كرمز التسجيل).
إنشاء ملف وحدة نمطية جديد
قم بإنشاء ملف وحدة نمطية جديد وأضف العبارات والثوابت المعلنة التالية إلى الوحدة النمطية Module1.Bas:
قم بتعريف الدالة GetVolumeInformation Lib "kernel32" الاسم المستعار "GetVolumeInformationA"
(ByVal lpRootPathName كسلسلة، ByVal lpVolumeNameBuffer كسلسلة، ByVal
nVolumeNameSize طويل، lpVolumeSerialNumber طويل، lpMaximumComponentLength As
طويل، lpFileSystemFlags طويل، ByVal lpFileSystemNameBuffer كسلسلة، ByVal
nFileSystemNameSize طالما) طالما
GetVal العالمية طالما
عند البرمجة، يجب الحرص على كتابة بيانات الإقرار على نفس السطر.
إعدادات النموذج
قم بإضافة مربعي نص في Form1 وقم بتعيين خاصية الاسم إلى Text1 وText2 على التوالي؛ أضف زرًا آخر وقم بتعيين خاصية الاسم إلى Command1.
إضافة رمز
أضف رمز البرنامج التالي إلى حدث Form1_Load الخاص بـ Form1:
نموذج فرعي خاص_تحميل()
خافت TempStr1 كسلسلة * 256
خافت TempStr2 كسلسلة * 256
خافت TempLon1 طالما
خافت TempLon2 طالما
………
'اقرأ المعلومات حول ما إذا كنت تريد التسجيل أم لا، ولن يتم شرح كيفية التحكم فيه هنا.
………
استدعاء GetVolumeInformation("C:"، TempStr1، 256، GetVal، TempLon1، TempLon2، TempStr2، 256)
Text1.Text = GetVal 'استخرج الرقم التسلسلي لمحرك الأقراص C المحلي إلى مربع النص الأول
نهاية الفرعية
قم بإضافة التعليمة البرمجية التالية إلى الحدث Command1_Click الخاص بـ Command1:
أمر فرعي خاص1_Click()
إذا كان النص 2 〈〉 CStr(GetVal) إذن
MsgBox "رمز التسجيل غير صحيح، يرجى التحقق بعناية من صحة الإدخال."
آخر
MsgBox "لقد تم التسجيل بنجاح، الرجاء إعادة تشغيل البرنامج."
………
(اكتب معلومات التسجيل الصحيحة حتى لا يتم تقييد وظائف البرنامج في المستقبل. يمكن ضبط الطريقة المحددة وفقًا للتفضيلات الشخصية.)
………
نهاية إذا
نهاية الفرعية
في هذه المرحلة، يمكننا تشغيل البرنامج. ستجد أننا قمنا ببساطة بتنفيذ وظيفة استخدام الرقم التسلسلي للقرص الصلب لإنشاء نسخة مسجلة إلكترونيًا من البرنامج.