السّلام عليكم و رحمة الله و بركاته
بارك الله فيك أخي الغالي و أستاذي الفاضل " أحمد منصور " على حسن المتابعة
أخي الحبيب .. للتنبيه أنا أعمل على وينداوز 8 .. 32 بايت
لست أدري .. جرّبت و جرّبت لكن دون فائدة ..
فائق إحتراماتي لشخصك الكريم
لست أدري من الأحسن لو سمحت ترى الصورة بنفسك
أهلا أخي عبدالعزيز , الصورة التي أرفقتها توضح أن نسخة الوندوز المثبته على جهاز هي نسخة وندوز 32 بت لكن المعالج نوعه 64 بت وهذا سبب المشكله , حيث أن بعض المعالجات تقبل أنظمة التشغيل ذات النوع 32 بت و64 بت معاً وبعض المعالجات لاتقبل إلا نسخة الوندوز التي تطابق رقم البت الخاص بها , لذلك جهازك هو 64 بت وأنت قمت بتثبيت نسخة وندوز 32 بت عليه .
السّلام عليكم و رحمة الله و بركاته
ألف شكر أخي الفاضل " أحمد منصور " على الشّرح و التّوضيح
جزاك الله خير الجزاء و زادك من علمه و فضله
لاحظ لو سمحت فضلاً لا أمرًا أستاذي الحبيب هذا الملف المرفق ..
هل هذا هو رقم الهارد ديسك الذي سوف يظهر لديك ؟؟
لأنّي أنا لا يمكنني التمييز هل هذا هو فعلاً أم هذا سيريال لقطعة أخرى من الجهاز
خالص تحيّاتي
أهلا أخي عبدالعزيز , الملف الذي أرفقته يجلب رقم السيريال لقرص الـ C فقط وليس لقطعة الهارد دسك للجهاز , وأعتذر منك لم أجد طريقة لجلب رقم الهارد دسك للأنظمة 64 بت .
أهلا أخي عبدالعزيز , مرفق ثلاث طرق أخرى لجلب رقم قطعة الهارد دسك الحقيقي , بالنسبة للطريقة الأولى فأعتقد أنه نفس الكود المستعمل في ملف الـ dll الذي وضعته أنا في هذا الموضوع لكن جرب , بالنسبة للطريقة الثانية وهي بإستخدام خدمة الـ wmi التابعة للوندوز هي تعمل على 32 بت ولكن لايوجد لدي جهاز 64 بت لأجرب عليه جرب في جهازك , بالنسبة للطريقة الثالثة هي بإستخدام ملف dll وهو عبارة عن أداة تضيفها في مشروعك وهو يعمل على 32 بت و 64 بت على حسب كلام موقعه الرسمي وهذه الأداة غير مجانية , بالتوفيق .
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك أخي الغالي و أستاذي الفاضل " أحمد منصور " على حسن المتابعة لشتّى المواضيع
كرَمك اللامنتهي لا يمكن لنا إحصاؤه .. جزاك الله خير الجزاء و زادك من علمه و فضله و نفع بك الاسلام و المسلمين
دمتَ ذخرًا لنا و لمنتدانا الحبيب .. و أمدّك الله بالصحّة و العافية و رزقك من حيث لا تحتسب
بالنسبة للطريقة الأولى لم يظهر لي شيئا في التاكسات بوكس الثلاث مثلما توضّحة الصورة :
الطريقة الثانية و هي التي اشتغلت معي لكن ظهر رقمان .. أيّهما لو تكرّمت أخي العزيز هو المقصود ..المشار إليه بالأحمر أم بالأخضر ..
الطريقة الثالثة .. طبعًا مثلما أشرت غير مجانية رغم إشتغالها كذلك ..
بارك الله فيك دنيا و آخرة
فائق إحتراماتي لشخصك الكريم
وعليك السلام ورحمة الله وبركاته
أهلا بك أخي عبدالعزيز , ألف شكراً جزيلاً لك على كلامك الطيب رزقك الله بمثل مادعوت وأكثر بكثير , جزاك الله كل خير , الحمدلله بما أن الطريقة الثانية عملت عندك فقمت بتعديل المثال قليلاً ليظهر لك فقط رقم الهارد دسك , قم بتجربة المثال بعد التعديل .
السّلام عليكم و رحمة الله و بركاته
الحمد لله .. تمام التّمام
بارك الله فيك و لك أستاذي الفاضل
سؤال أخير واعذرني لكثرة تساؤلاتي .. فقط طمعًا في طلب العلم من معادنه
باسم الله ما شاء الله تبارك الله
أردت تغيير الليست بوكس بتاكست بوكس .. و قمت بتغيير بعض العبارات .. لكن تراودني شكوك حول عبارة الليست بوكس CLEAR
إليك الكود أرجو لو تكرمت فضلا لا أمرا فقط إلقاء نظرة عليه
فائق إحتراماتي
كود :
Private Sub Form_Load()
Text1.Text = ""
StrComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & StrComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMedia", , 48)
For Each objItem In colItems
If InStr(1, LCase$(objItem.Tag), "physicaldrive0") <> 0 Then
Text1.Text = " " & objItem.SerialNumber
End If
Next
End Sub
وعليك السلام ورحمة الله وبركاته , أهلا أخي عبدالعزيز , شكراً جزيلاً لك , هذا كودك بعد تعديله ليتم وضع رقم الهارد دسك في التكست :
PHP كود :
Private Sub Form_Load()
Dim StrComputer As String
Text1.Text = ""
StrComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & StrComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMedia", , 48)
For Each objItem In colItems
If Not IsNull(objItem.SerialNumber) Then
If InStr(1, LCase$(objItem.Tag), "physicaldrive0") <> 0 And Trim$(Text1.Text) = "" Then
Text1.Text = Trim$(objItem.SerialNumber)
Exit Sub
End If
End If
Next
End Sub