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

هذا الكود للحصول على الرقم التسلسلي للوحة الام

مغلق
بدأه زكيري عبد العالي في 5 أكتوبر 2001 · 2 رد · 2,471 مشاهدة · في أرشيف منتدى الدلفي
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخوتي الاعزاء هذا الكود للحصول على الرقم التسلسلي للوحة الام

لكن هناك خطا فني ولا ادري اين لاني لا اجيد لغه الفيجويال بازيك " VB"

علي العموم هذا ما استطعت فعله كما اني مشغول لاكمال البرنامج الدي وعدتكم به

ملاحظة :

الحصول على الرقم التسلسلي للوحة الام يعني حماية كاملة مانعة لحماية البرامج من النسخ.....وغيرها .

المطلوب :

أيادي كريمة وأسابع من ذهب واعين كالصـقر ليكشف الخطأ وله الاجر والثواب .

//////////////////////////////////////////////////////////الدلفي////////////////////////////////////////////

TForm1 = class(TForm)

Button1: TButton;

Edit1: TEdit;

procedure Button1Click(Sender: TObject);

private{ Déclarations privées }

Function GetBIOSDate: String;

public { Déclarations publiques }

end;

var Form1: TForm1;

implementation{$R *.DFM}

procedure GetMem1 (MemAddress:Longint;var ByVal : Byte);external 'msvbvm50.dll' ;

Function tform1.GetBIOSDate: String;

var

p : Byte;MemAddr : Longint;sBios : String;i: Integer;

begin

//MemAddr := $FFFF5;//HFFFF5;

MemAddr := $FFFF5;

For i := 0 To 25 do

begin

GetMem1(MemAddr + i, p);

sBios := sBios + Chr(p);

end;

GetBIOSDate := sBios

End;

procedure TForm1.Button1Click(Sender: TObject);

begin

edit1.text:=GetBIOSDate;

end;

end.

///////////////////////////////////////////////////////////////الفيبي///////////////////////////////////////

Option Explicit

Public Declare Sub GetMem1 Lib "msvbvm50.dll" (ByVal MemAddress As Long, var As Byte)

Public Function GetBIOSDate() As String

Dim p As Byte, MemAddr As Long, sBios As String

Dim i As Integer

'MemAddr = &HFFFF5

MemAddr = &HFEC71

For i = 0 To 25

Call GetMem1(MemAddr + i, p)

sBios = sBios & Chr$(p)

Next i

GetBIOSDate = sBios

End Function

//////////////////////////////////////////////////////////////////////////////////////////////////////

دائما معكم pati

#2

شكراً لك اخي Pati على هالكود

وجعله الله في موازين حسناتك

وتقبل تحياتي وتقديري اخوك SUM

#3

الأخ العزيز PATI..

لقد قمت بتعديل الإجراء الذي قدمته..

و استغنيت عن استخدام التابع

GetMem1

مما ساعدني عن الاستغناء عن الملف..

'msvbvm50.dll'

و فيما يلي نص الإجراء المعدل..

Function GetMotherBoardInfo: String;

var

MemAddr : Longint;

sBios : String;

pMemAddr : ^Byte;

i : Integer;

begin

//MemAddr := $FFFF5; //Date

MemAddr := $FEC71; //Full Noumber

For i := 0 To 35 do

begin

pMemAddr := Ptr(MemAddr + i);

sBios := sBios + Chr(pMemAddr^);

end;

GetBIOSDate := sBios;

End;

الرجاء من الأخوة أن يقوموا بتجربته.. و مراقبة صحته..

و لكن هذا الإجراء يعيد تاريخ صنع الـ

Mother board

و نوعها..

و معلومات أخرى...

في الختام لكم مني كل التحية و السلام..

كل عام و انتم بألف خير.. و أتمنى لكل أعضاء الفريق العربي للبرمجة كل النجاح و التوفيق..

هاني سيمو

http://h2simo.tripod.com (f) (f)

هذا الموضوع مغلق.

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