اذا كانت المشكلة بتحويل الكود .. فالأمر بسيط جداً
وهذا هو الكود بعد التحويل :
والاستدعاء يكون بالأمر :
الكود جربته عندي وهو يعمل #C و VB
فهذا الكود هو يجلب الرقم التسلسلي للهارد ديسك الذي تقوم بتحديد القرص منه وليس الرقم التسلسلي للقرص نفسه..
لكن هل هذا الكود الذي تريده ويلبي طلبك أم لا ؟؟ فهذا شأنك..
بالتوفيق ..
وهذا هو الكود بعد التحويل :
كود :
Public Shared Function GetModelFromDrive(driveLetter As String) As String
Dim result As String
If driveLetter.Length <> 2 Then
result = ""
Else
Try
Using partitions As ManagementObjectSearcher = New ManagementObjectSearcher("ASSOCIATORS OF {Win32_LogicalDisk.DeviceID='" + driveLetter + "'} WHERE ResultClass=Win32_DiskPartition")
For Each partition As ManagementBaseObject In partitions.[Get]()
Dim str As String = "ASSOCIATORS OF {Win32_DiskPartition.DeviceID='"
Dim obj As Object = partition("DeviceID")
Using drives As ManagementObjectSearcher = New ManagementObjectSearcher(str + If((obj IsNot Nothing), obj.ToString(), Nothing) + "'} WHERE ResultClass=Win32_DiskDrive")
Using enumerator2 As ManagementObjectCollection.ManagementObjectEnumerator = drives.[Get]().GetEnumerator()
If enumerator2.MoveNext() Then
Dim drive As ManagementBaseObject = enumerator2.Current
Return CStr(drive("Model"))
End If
End Using
End Using
Next
End Using
Catch
Return "<unknown>"
End Try
result = "<unknown>"
End If
Return result
End Functionوالاستدعاء يكون بالأمر :
كود :
MsgBox("Drive C:'s Model Number is " & GetModelFromDrive("C:"),, "The Serial :")الكود جربته عندي وهو يعمل #C و VB
فهذا الكود هو يجلب الرقم التسلسلي للهارد ديسك الذي تقوم بتحديد القرص منه وليس الرقم التسلسلي للقرص نفسه..
لكن هل هذا الكود الذي تريده ويلبي طلبك أم لا ؟؟ فهذا شأنك..
بالتوفيق ..
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
