الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الحصول على السيريال نمبر الخاص بالسي دي

بدأه piratewar في 12 يناير 2012 · 4 رد · 1,258 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة اله وبركاته

كنت أريد المساعدة للحصول على السيريال نمبر الخاص بالسي دي و ذلك لعمل حماية لبرنامج لكي لا يعمل إلى في حالة وجود السي دي الأصلي

#2

وعليكم السلام

جرب هذه الدالة

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

1
#3

جزاكم الله خيرا و الله لقد أرحتني كثيراً ووجدت المثال سهل الفهم ولكن لي ملاحظة

عند كتابة حرف الدال على عنوان CD DRIVE يعطي لي ID الخاص به و ليس السي دي (CD ROM) و ما كنت أفكر فيه هو حماية البرنامج بواسطة تعرفه على السي دي الخاص به فقط و ذلك لمنع المستخدم من استخراج اسطوانة وهمية أو نسخ السي دي و أقوم أنا بإدخال السيريال كل مرة عند عمل نسخة للسي دي

ولكن جزاكم الله خيراً

#4

رقم vol serial رقم يتولد عند النسخ

و يعيبه أنه ينسخ عند عمل نسخة للأسطوانة

عند نسخ الأسطوانة ستكون طبق الأصل من الأصلية إذا إعتمدت على هذا الرقم

يمكنك تدعيمه بإسم صانع الأسطوانة

عندها فقط ستكون جيدة

#5

وعليكم السلام ورحمة الله وبركاته

لا يمكن (فيما أعلم) الحصول على الرقم التسلسلي لقرص CD وهو فارغ

الرقم المسلسل المعروف هو للـ Volume وهذا الأخير ينشئه النظام عند تهيئة القرص

وقد يتغير من جهاز لآخر

هناك برامج توفر طريقة للحماية من نسخ CD

حل بديل استخدام رقم التسلسلي لقرص Flash Memory USB

بالتوفيق.

مواضيع مشابهة