اذا كانت مشكلتك فقط تجاوز ثغرة تغيير التاريخ
يمكنك ان تقوم بحفظ the last execution date في مكان ما لايعلم عنه احد
وعند تشغيل البرنامج ، يقوم البرنامج باعمل مقارنة بواسطة if
فإذا كان التاريخ على الجهاز اصغر من تاريخ اخر مرة شغلت البرنامج
يعني اكيد المستخدم غير التاريخ ، وهكذا تخلي برنامجك يطلع رسالة تقوله لايمكن تشغيل البرنامج لانك عبثت بالتاريخ
Sorry Kepord no arbic the code for Writer and Reader
paste Button1
إقتباس : Dim i As Integer
w = New IO.StreamWriter("c:\XX.txt")
For i = 0 To ListBox1.Items.Count - 1
w.WriteLine(ListBox1.Items.Item(i))
Next
w.Close()
paste Button2
إقتباس : r = New IO.StreamReader("c:\XX.txt")
While (r.Peek() > -1)
ListBox2.Items.Add(r.ReadLine)
End While
r.Close()
var in Public Class Form1
إقتباس : Dim w As IO.StreamWriter
Dim r As IO.StreamReader
c:\XX.txt

وظعت الكود استناد لطلبك السابق
إقتباس :وهل يوجد اخي مثال يشرح طريقة الحفظ في ملف ومن ثم استخراج منه التاريخ
بالنسبة لطريقة حماية البرامج لم يعد استخدام الريجستري أو تفقد الملفات أو عدد مرات التشغيل تنتهي بعد فترة ...الخ
جميع هذه الطرق يتم كسرها بتتبع مجرى ملفات البرامج بـــ olly والهندسة العكسية ، ويكفيك اكبر شركات البرمجة كــ adobe وغيرها كسرت برامجها
وخسرت المليارات، ومشكلة البيئات الحديثه للبرمجة يمكن نبش اكوادها واستخراج مكوناتها والتلاعب بها، لازالت كل الحلول ظعيفه جدا.
هناك حل مؤقت للبرامج التجريبية وهي :
أن لا تكمل جميع إجزاء البرنامج فمثلا هناك زر لتعديل الفواتير ويحتوي على
1 - تعديل رقم الفاتورة
2 - تعديل تاريخ الفاتورة
3 - تعديل مسمى الفاتورة
انت اشطب رقم 2 واضهر له رسالة يجب شراء البرنامج لكي تتمكن من تعديل تاريخ الفاتورة طبعا لاتظع اكواد تعديل تاريخ الفاتورة يعني نقص الاشياء المهمة في البرامج حتى تظمن عدم كسر البرنامج والتلاعب به .