مصطفي كامل
28-01-2013, 05:25 AM
بسم الله الرحمن الرحيم
هذة محاولة لربط المشروع بسيريال الهارد ديسك - حصلت علية من النت - وقمت بتجريبة ولكن ظهرت مشكله ...
وهي أن الكود يقوم بتسجيل السيريال في الريجستري بالنسبة للمشروع .... وعندما أقوم بعمل مشروع آخر يحمل نفس الكود مع تغيير
pass = (NumDrive+12345)*5 الي pass = (NumDrive+123456)*6 يجب التسجيل برقم غير محظور", "عفواً رقم تسجيل محظور ويجب شراء البرنامج .
ارجو من السادة أصحاب الخبرة والمشرفين بالموقع مساعدتي في تعديل الكود لجعلة
يقوم بتسجيل الكود + اسم الاسطوانة في الرجيستري حتي اتمكن من تنفيذ الحماية علي أكثر من مشروع .... ولكم منا جزيل الشكر والتقدير .
حماية الاسطوانة برقم ديناميكي يعتمد على رقم الهارد دسك
وسوف اقوم عرضه بالصور المشروحة لتعم الفائدة
نبداء في البداية بمحتوى صفحة التسجيل
وتكون خصائص Input1 (اظهار رقم الدرايف فيه)
وتكون خصائص Input2 (ادخال رقم التسجيل)
وخصائص Label1 ( لظهور رقم التسجيل مخفي )
نبداء كود الصفحة
كود:
-- قراءة رقم الدرايف
NumDrive = Drive.GetInformation(_SourceDrive).SerialNumber;
--Input1 عرض رقم الدرايف في
Input.SetText("Input1", NumDrive);
--عمل معادلة للباسورد
pass = (NumDrive+12345)*5
--Label1 عرض الباسورد في
Label.SetText("Label1", pass);
وهذا كود زر التسجيل
كود:
--Input2 قراءة باسورد المكتوب في
passIn = Input.GetText("Input2");
--Label1 قراءة باسورد الصحيح في
passLa = Label.GetText("Label1");
--مقارنة بين الباسورد المكتوب والصحيح
if passIn== passLa then--اذا كان صحيح
--يسجل الرقم في الرجستري
Registry.SetValue(HKEY_CURRENT_USER, "Software\\ThEsAiLoR", "serial", passLa, REG_SZ);
--عمل رسالة بنجاح التسجيل
result = Dialog.Message("شكرا على التسجيل", "تم التسجيل بنجاح", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
--الانتقال الى صفحة تشغيل البرنامج
Page.Jump("Page2");
else-- اذا كان خطاء
--عمل رسالة بفشل التسجيل
result = Dialog.Message("التسجيل خطاء", "رقم التسجيل غير صحيح", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
وبالنسبة لكود بداء تشغيل المشروع ( project--> Action-->on startup)
كود:
--البحث عن ملف التسجيل في الرجستري
RegFile = Registry.DoesKeyExist(HKEY_CURRENT_USER, "Software\\ThEsAiLoR");
if not RegFile then-- اذا لم يكن ملف التسجيل موجود في الريجستري
--عرض رسالة
Dialog.Message("يجب تسجيل البرنامج", "عفوا: البرنامج ليس مجاني ويجب شراء البرنامج ");
--الانتقال الى صفحة التسجيل
Page.Jump("Page1");
else--اذا كان ملف التسجيل موجود
--قراءة رقم الدرايف
NumDrive = Drive.GetInformation(_SourceDrive).SerialNumber;
--معادلة الباسورد
pass = (NumDrive+12345)*5
--قراءة الباسورد من الريجستري
resul = Registry.GetValue(HKEY_CURRENT_USER, "Software\\ThEsAiLoR", "serial", true);
if resul =="" then
Page.Jump("Page1");
else
if pass == resul+0 then--اذاكان رقم الباسورد يساوي رقم الباسورد في الرجستري
--الانتقال الى صفحة تشغيل البرنامج
Page.Jump("Page2");
else-- اذا كان الرقمين غير متساوين
--عمل رسالة بحظر الرقم الموجود الريجستري
Dialog.Message(" يجب التسجيل برقم غير محظور", "عفواً رقم تسجيل محظور\r\nويجب شراء البرنامج ");
--الانتقال الى صفحة التسجيل
Page.Jump("Page1");
end
end
end
طريقة عمل برنامج صانع المفاتح
كود واحد فقط في زر رقم التسجيل
كود:
--Input1 قراءة رقم الدرايف من
NumDrive = Input.GetText("Input1");
--معادلة الباسورد
pass = (NumDrive+12345)*5
--اظهار رقم التسجيل
Input.SetText("Input2", pass);
هذة محاولة لربط المشروع بسيريال الهارد ديسك - حصلت علية من النت - وقمت بتجريبة ولكن ظهرت مشكله ...
وهي أن الكود يقوم بتسجيل السيريال في الريجستري بالنسبة للمشروع .... وعندما أقوم بعمل مشروع آخر يحمل نفس الكود مع تغيير
pass = (NumDrive+12345)*5 الي pass = (NumDrive+123456)*6 يجب التسجيل برقم غير محظور", "عفواً رقم تسجيل محظور ويجب شراء البرنامج .
ارجو من السادة أصحاب الخبرة والمشرفين بالموقع مساعدتي في تعديل الكود لجعلة
يقوم بتسجيل الكود + اسم الاسطوانة في الرجيستري حتي اتمكن من تنفيذ الحماية علي أكثر من مشروع .... ولكم منا جزيل الشكر والتقدير .
حماية الاسطوانة برقم ديناميكي يعتمد على رقم الهارد دسك
وسوف اقوم عرضه بالصور المشروحة لتعم الفائدة
نبداء في البداية بمحتوى صفحة التسجيل
وتكون خصائص Input1 (اظهار رقم الدرايف فيه)
وتكون خصائص Input2 (ادخال رقم التسجيل)
وخصائص Label1 ( لظهور رقم التسجيل مخفي )
نبداء كود الصفحة
كود:
-- قراءة رقم الدرايف
NumDrive = Drive.GetInformation(_SourceDrive).SerialNumber;
--Input1 عرض رقم الدرايف في
Input.SetText("Input1", NumDrive);
--عمل معادلة للباسورد
pass = (NumDrive+12345)*5
--Label1 عرض الباسورد في
Label.SetText("Label1", pass);
وهذا كود زر التسجيل
كود:
--Input2 قراءة باسورد المكتوب في
passIn = Input.GetText("Input2");
--Label1 قراءة باسورد الصحيح في
passLa = Label.GetText("Label1");
--مقارنة بين الباسورد المكتوب والصحيح
if passIn== passLa then--اذا كان صحيح
--يسجل الرقم في الرجستري
Registry.SetValue(HKEY_CURRENT_USER, "Software\\ThEsAiLoR", "serial", passLa, REG_SZ);
--عمل رسالة بنجاح التسجيل
result = Dialog.Message("شكرا على التسجيل", "تم التسجيل بنجاح", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
--الانتقال الى صفحة تشغيل البرنامج
Page.Jump("Page2");
else-- اذا كان خطاء
--عمل رسالة بفشل التسجيل
result = Dialog.Message("التسجيل خطاء", "رقم التسجيل غير صحيح", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
وبالنسبة لكود بداء تشغيل المشروع ( project--> Action-->on startup)
كود:
--البحث عن ملف التسجيل في الرجستري
RegFile = Registry.DoesKeyExist(HKEY_CURRENT_USER, "Software\\ThEsAiLoR");
if not RegFile then-- اذا لم يكن ملف التسجيل موجود في الريجستري
--عرض رسالة
Dialog.Message("يجب تسجيل البرنامج", "عفوا: البرنامج ليس مجاني ويجب شراء البرنامج ");
--الانتقال الى صفحة التسجيل
Page.Jump("Page1");
else--اذا كان ملف التسجيل موجود
--قراءة رقم الدرايف
NumDrive = Drive.GetInformation(_SourceDrive).SerialNumber;
--معادلة الباسورد
pass = (NumDrive+12345)*5
--قراءة الباسورد من الريجستري
resul = Registry.GetValue(HKEY_CURRENT_USER, "Software\\ThEsAiLoR", "serial", true);
if resul =="" then
Page.Jump("Page1");
else
if pass == resul+0 then--اذاكان رقم الباسورد يساوي رقم الباسورد في الرجستري
--الانتقال الى صفحة تشغيل البرنامج
Page.Jump("Page2");
else-- اذا كان الرقمين غير متساوين
--عمل رسالة بحظر الرقم الموجود الريجستري
Dialog.Message(" يجب التسجيل برقم غير محظور", "عفواً رقم تسجيل محظور\r\nويجب شراء البرنامج ");
--الانتقال الى صفحة التسجيل
Page.Jump("Page1");
end
end
end
طريقة عمل برنامج صانع المفاتح
كود واحد فقط في زر رقم التسجيل
كود:
--Input1 قراءة رقم الدرايف من
NumDrive = Input.GetText("Input1");
--معادلة الباسورد
pass = (NumDrive+12345)*5
--اظهار رقم التسجيل
Input.SetText("Input2", pass);