السلام عليكم ورحمة اله وبركاته
كنت أريد المساعدة للحصول على السيريال نمبر الخاص بالسي دي و ذلك لعمل حماية لبرنامج لكي لا يعمل إلى في حالة وجود السي دي الأصلي
السلام عليكم ورحمة اله وبركاته
كنت أريد المساعدة للحصول على السيريال نمبر الخاص بالسي دي و ذلك لعمل حماية لبرنامج لكي لا يعمل إلى في حالة وجود السي دي الأصلي
وعليكم السلام
جرب هذه الدالة
function GetDiskVolSerialID(cDriveName : char ) : DWord;
var
dwTemp1,
dwTemp2 : DWord;
begin
GetVolumeInformation(
PChar( cDriveName + ':\' ), Nil, 0, @Result, dwTemp2, dwTemp2, Nil, 0);
end;مثال على الاستخدام
MessageDlg( 'Serial number: ' + Format( '%X', [ GetDiskVolSerialID( 'E' ) ] ), mtInformation, [mbOk], 0 );
تم تعديل هذه المشاركة بواسطة hez124 في 13 يناير 2012 في 04:02
جزاكم الله خيرا و الله لقد أرحتني كثيراً ووجدت المثال سهل الفهم ولكن لي ملاحظة
عند كتابة حرف الدال على عنوان CD DRIVE يعطي لي ID الخاص به و ليس السي دي (CD ROM) و ما كنت أفكر فيه هو حماية البرنامج بواسطة تعرفه على السي دي الخاص به فقط و ذلك لمنع المستخدم من استخراج اسطوانة وهمية أو نسخ السي دي و أقوم أنا بإدخال السيريال كل مرة عند عمل نسخة للسي دي
ولكن جزاكم الله خيراً
رقم vol serial رقم يتولد عند النسخ
و يعيبه أنه ينسخ عند عمل نسخة للأسطوانة
عند نسخ الأسطوانة ستكون طبق الأصل من الأصلية إذا إعتمدت على هذا الرقم
يمكنك تدعيمه بإسم صانع الأسطوانة
عندها فقط ستكون جيدة
وعليكم السلام ورحمة الله وبركاته
لا يمكن (فيما أعلم) الحصول على الرقم التسلسلي لقرص CD وهو فارغ
الرقم المسلسل المعروف هو للـ Volume وهذا الأخير ينشئه النظام عند تهيئة القرص
وقد يتغير من جهاز لآخر
هناك برامج توفر طريقة للحماية من نسخ CD
حل بديل استخدام رقم التسلسلي لقرص Flash Memory USB
بالتوفيق.