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

كيف أحصل على رقم لوحة الأم في فيستا؟؟

بدأه المبرمج عبدالكريم في 11 أبريل 2008 · 13 رد · 2,741 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيفكم أخواني؟؟

هذا الكود لمعرفة رقم سيريال لوحة الأم (الرقم التسلسلي) ويعمل 100% على ويندوز XP :

ضع الآتي في وحدة نمطية (مديول)

Public Function MBSerialNumber() As String
		Dim objs As Object
		Dim obj As Object
		Dim WMI As Object
		Dim sAns As String

		WMI = GetObject("WinMgmts:")
		objs = WMI.InstancesOf("Win32_BaseBoard")
		For Each obj In objs
			sAns = sAns & obj.SerialNumber
			If sAns.Length < objs.Count Then sAns = sAns & ","
		Next
		MBSerialNumber = sAns.Trim

	End Function

وفي أي حدث

MsgBox(MBSerialNumber)

الكود السابق ناجح 100% في XP ولكن جربته على VISTA ومانفع ..

السؤال ... كيف أحصل على سيريال لوحة الأم في فيستا.؟ هل توجد مكتبات أخرى؟ هل هناك طريقة أخرى؟ أم أنه لا يمكن العثور عليها في VISTA؟

تحياتي لكم

#3

اخي الكريم

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


Imports Microsoft.Win32
Imports System.Diagnostics

Public Class Form1

Dim m_LM As RegistryKey = Registry.LocalMachine
Dim m_HW As RegistryKey = m_LM.OpenSubKey("HARDWARE")
Dim m_Des As RegistryKey = m_HW.OpenSubKey("DESCRIPTION")
Dim m_System As RegistryKey = m_Des.OpenSubKey("SYSTEM")
Dim m_CPU As RegistryKey = m_System.OpenSubKey("CentralProcessor")
Dim m_Info As RegistryKey = m_CPU.OpenSubKey("0")

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Label1.Text = "CPU Information"
Label2.Text = m_Info.GetValue("ProcessorNameString")
Label3.Text = m_Info.GetValue("Identifier")
Label4.Text = m_Info.GetValue("VendorIdentifier")
Label5.Text = m_Info.GetValue("~Mhz")


End Sub
End Class
Imports System

بالتوفيق

اخوك عمر

تم تعديل هذه المشاركة بواسطة a_pess في 17 أبريل 2008 في 07:51

#4

حسنا أخي a_pess

بيانات الجهاز اللي شغال عليه أنا كتالي :

ProcessorNameString :			   Intel(R) Pentium(R) 4 CPU 3.00GHz
Identifier : x86 Family 15 Model 4 Stepping 1
VendorIdentifier : GenuineIntel
~MHz : 2992

ولكن ايش اللي راح يميز جهاز عن آخر علما بأن لدي تقريبا 20 جهاز بنفس المواصفات جميعها من ACER فأتوقع جميعها راح تكون بهذه القيم ..

#5

المشكلة من UAC الخاص بويندوز فيستا

ابحث عن الموضوع المسمى User Account Control and WMI في مكتبة MSDN المرفقة مع فيجول ستوديو ستجد النص التالي فيه

اقتباس

The following classes do not return some properties when the account is filtered by UAC:

Win32_NetworkAdapterConfiguration

Win32_DCOMApplicationSetting

Win32_DCOMApplication

Win32_Baseboard

Win32_ComputerSystem

Win32_NetworkAdapter

Win32_MotherboardDevice

Win32_DiskDrive

Win32_PnPEntity

Win32_VideoController

Win32_ParallelPort

Win32_LogicalDisk

Win32_SystemDriver

Win32_IRQResource

Win32_NetworkProtocol

وهذا يعني:

الفئات التالية لاتعيد بعض الخصائص عندما يتم تصفية الحساب باستخدام UAC

ولرؤية كامل المقال يرجى الانتقال للرابط User Account Control and WMI مباشرة من موقع مايكروسوفت

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#6

شكرا لك أخي محمد سامر وكذلك الشكر للاخ a_pess

ولكن أخي محمد , هل يوجد بديل؟؟

#7

حاولت البحث - ولكن لم أستطع إكمال البحث لظروف خاصة

على كل حال هناك تلميح في MSDN Forum إلى إمكانية جلب معلومات من هذا النوع من قيم محددة في الريجستري ربما إن وجدت وقتا يوم الجمعة القادم سأحاول البحث أكثر

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#9

كيف أحصل على الرقم التسلسلي للهارد دسك ؟؟

#10
zanobea كتب:
كيف أحصل على الرقم التسلسلي للهارد دسك ؟؟

جواب سؤالك موجود عدة مرات في المنتدى - يرجى استخدام محرك البحث في المنتدى قبل السؤال للحصول على الإجابة

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#11

اخي الكريم

جرب الكود الاتي ربما ينجح بما اني ما عنديش ويندوز فيستا فانا مش قادر احدد او اعرف

Please Add the following reference to your project references

System..Management

ثم استخدم الكود بالشكل الاتي اتمني انه ينجح



Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim strMotherBoardID As String = String.Empty
Dim query As New SelectQuery("Win32_BaseBoard")
Dim search As New ManagementObjectSearcher(query)
Dim info As ManagementObject
For Each info In search.Get()

strMotherBoardID = info("SerialNumber").ToString()

Next

Label1.Text = strMotherBoardID

End Sub

End Class
Imports System.Management

طبعا تقدر تحول الكود الي

Function

وتستخدمها بالطريقه اللي انتا عايزها

بالتوفيق

اخوك عمر

تم تعديل هذه المشاركة بواسطة a_pess في 24 أبريل 2008 في 18:35

#12

وبعض الداء ملتمس شفاه ******* وداء النوك ليس له شفاء

#13

شكرا

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

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