نوشته شده توسط
ice007
من اینو تو ویستا چک کردم کار نکرد(تو xp درست کار کرد). اشکال از کار منه یا تو ویستا کار نمیکنه؟ اگر کار نمی کنه لطفا اگر چیزی دارید که تو ویستا کار کنه لطف کنید ارائه کنید(ترجیحا vb.net یا C#)
با تشکر
این هم کد هارد در vb.net
اگه مشکلی داشتی بگو
Imports System
Imports System.Collections
Imports System.Management
Namespace HardDriveSample1
Friend Class HardDrive
Private model_Renamed As String = Nothing
Private type_Renamed As String = Nothing
Private serialNo_Renamed As String = Nothing
Public Property Model() As String
Get
Return model_Renamed
End Get
Set(ByVal value As String)
model_Renamed = value
End Set
End Property
Public Property Type() As String
Get
Return type_Renamed
End Get
Set(ByVal value As String)
type_Renamed = value
End Set
End Property
Public Property SerialNo() As String
Get
Return serialNo_Renamed
End Get
Set(ByVal value As String)
serialNo_Renamed = value
End Set
End Property
End Class
Friend Class TestProgram
<STAThread> _
Shared Sub Main(ByVal args As String())
Dim hdCollection As ArrayList = New ArrayList()
Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive")
For Each wmi_HD As ManagementObject In searcher.Get()
Dim hd As HardDrive = New HardDrive()
hd.Model = wmi_HD("Model").ToString()
hd.Type = wmi_HD("InterfaceType").ToString()
hdCollection.Add(hd)
Next wmi_HD
searcher = New ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia")
Dim i As Integer = 0
For Each wmi_HD As ManagementObject In searcher.Get()
' get the hard drive from collection
' using index
Dim hd As HardDrive = CType(hdCollection(i), HardDrive)
' get the hardware serial no.
If wmi_HD("SerialNumber") Is Nothing Then
hd.SerialNo = "None"
Else
hd.SerialNo = wmi_HD("SerialNumber").ToString()
End If
i += 1
Next wmi_HD
' Display available hard drives
For Each hd As HardDrive In hdCollection
Console.WriteLine("Model" & Constants.vbTab + Constants.vbTab & ": " & hd.Model)
Console.WriteLine("Type" & Constants.vbTab + Constants.vbTab & ": " & hd.Type)
Console.WriteLine("Serial No." & Constants.vbTab & ": " & hd.SerialNo)
Console.WriteLine()
Next hd
' Pause application
Console.WriteLine("Press [Enter] to exit...")
Console.ReadLine()
End Sub
End Class
End Namespace