View Full Version : گرفتن یک سری مشخصات سخت افزاری سیستم
  
tolinolin
چهارشنبه 04 تیر 1393, 19:10 عصر
سلام دوستان
فرض کنید یک برنامه ساده داریم که شامل یک دکمه و لیبل (یا حالا تکس باکس) است. میخواهیم با زدن دکمه اطلاعاتی از قبیل سریال نامبر هارد دیسک ، سریال نامبر سی پی یو و مک آدرس کارت شبکه رو برامون نمایش بده. ممنون میشم راهنمایی بفرمایید.
farhad85
چهارشنبه 04 تیر 1393, 20:16 عصر
اطلاعات مربوط به سی پی یو
Public Function GetInfo_CPU()        Dim VendorIdentifier, Identifier, ProcessorName As String        VendorIdentifier = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\  HARDWARE\DESCRIPTION\System\CentralProcessor\0", "VendorIdentifier", 0)        Identifier = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\  HARDWARE\DESCRIPTION\System\CentralProcessor\0", "Identifier", 0)        ProcessorName = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\  HARDWARE\DESCRIPTION\System\CentralProcessor\0", "ProcessorNameString", 0)        MsgBox("Vendor : " & VendorIdentifier & vbCrLf & _               "Model : " & Identifier & vbCrLf & _               "Processor Name : " & Trim(ProcessorName))    End Function
farhad85
چهارشنبه 04 تیر 1393, 20:17 عصر
مدل هارد دیسک
Public Function HardDisk_Model()
        MsgBox(My.Computer.Registry.GetValue("HKEY_LOCAL_M  ACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 0\Target Id 0\Logical Unit Id 0", "Identifier", 0), MsgBoxStyle.Information, "Hard Disk Model")
    End Function
farhad85
چهارشنبه 04 تیر 1393, 20:18 عصر
بوسیله کد زیر میتونید بفهمید سیستمی که برنامه داره روش اجرا میشه چند بیتی هستش . 32 یا 64 .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim AdrsWidth As String
        Dim mgmt As Management.ManagementClass = New Management.ManagementClass("Win32_Processor")
        Dim objcol As Management.ManagementObjectCollection = mgmt.GetInstances()
        For Each obj As Management.ManagementObject In objcol
            If AdrsWidth = String.Empty Then
                AdrsWidth = obj.Properties("AddressWidth").Value.ToString
            End If
        Next
        Select Case AdrsWidth
            Case "32"
                MsgBox("32-Bit")
            Case "64"
                MsgBox("64-Bit")
        End Select
farhad85
چهارشنبه 04 تیر 1393, 20:19 عصر
بوسیله کد اول میتونید بفهمید که نحوه اتصال هارددیسک از چه نوعیه  .
1
2
3
4
5
6
7
8
9
10
Dim HDD_Connection As String
        Dim mgmt As Management.ManagementClass = New Management.ManagementClass("Win32_DiskDrive")
        Dim objcol As Management.ManagementObjectCollection = mgmt.GetInstances()
        For Each obj As Management.ManagementObject In objcol
            If HDD_Connection = String.Empty Then
                HDD_Connection = obj.Properties("InterfaceType").Value.ToString
            End If
        Next
        MsgBox(HDD_Connection, MsgBoxStyle.Information, "Hard Disk Connection")
farhad85
چهارشنبه 04 تیر 1393, 20:20 عصر
این کد تعداد پارتیشن های هارددیسکتون رو بر میگردونه 
1
2
3
4
5
6
7
8
9
10
Dim HDD_Partitions As String
        Dim mgmt As Management.ManagementClass = New Management.ManagementClass("Win32_DiskDrive")
        Dim objcol As Management.ManagementObjectCollection = mgmt.GetInstances()
        For Each obj As Management.ManagementObject In objcol
            If HDD_Partitions = String.Empty Then
                HDD_Partitions = obj.Properties("Partitions").Value.ToString
            End If
        Next
        MsgBox(HDD_Partitions, MsgBoxStyle.Information, "Hard Disk Partitions Number")
farhad85
چهارشنبه 04 تیر 1393, 20:20 عصر
خب ، این کد میتونه خیلی بهتون کمک کنه . بدون هیچ گونه دردسری میتونید میزان فضای کلی هارددیسک رو محاسبه کنید .
1
2
3
4
5
6
7
8
9
10
Dim HDD_Size As String
        Dim mgmt As Management.ManagementClass = New Management.ManagementClass("Win32_DiskDrive")
        Dim objcol As Management.ManagementObjectCollection = mgmt.GetInstances()
        For Each obj As Management.ManagementObject In objcol
            If HDD_Size = String.Empty Then
                HDD_Size = obj.Properties("Size").Value.ToString
            End If
        Next
        MsgBox(Math.Round(HDD_Size / 1073741724) & " GB", MsgBoxStyle.Information, "Hard Disk Total Size")
tolinolin
چهارشنبه 04 تیر 1393, 21:53 عصر
خیلی ممنونم ازت، اما من فقط اون مواردی رو که گفتم نیاز دارم، یعنی سریال نامبر هارد و سریال نامبر سی پی یو و مک آدرس کارت شبکه
Hossis
شنبه 24 آبان 1393, 19:41 عصر
خیلی ممنونم ازت، اما من فقط اون مواردی رو که گفتم نیاز دارم، یعنی سریال نامبر هارد و سریال نامبر سی پی یو و مک آدرس کارت شبکه
این سوال من هم هست، اگر ممکنه یک راه ساده برای بدست آوردن شماره سریال هارد دیسک ارائه بدید
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.