منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] معرفة بيانات الجهاز - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] معرفة بيانات الجهاز (/showthread.php?tid=47539)



معرفة بيانات الجهاز - محمد بوقزاحة - 29-11-23

السلام عليكم ،،،، 

 المطلوب 
1- معرفة حجم الرام      
2- معرفة حجم الهارد ديسك بالكامل 
واذا امكن معرفة المستخدم والمساحات الفراغة في الهارد ديسك

3- معرفة نوع الهارد ديسك

حجم الرام  textbox1
حجم الهارد texbox2
نوع الهارد  textbox3



 قم برفع المشروع ومع اضافة شاشة Form3  


RE: معرفة بيانات الجهاز - AHMED213 - 21-02-24

Imports System.Management

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ' 1. معرفة حجم الرام
        Dim ramSize As Double = GetRAMSize()
        TextBox1.Text = ramSize.ToString() & " GB"

        ' 2. معرفة حجم الهارد ديسك بالكامل والمساحات الفراغية
        Dim diskInfo As String() = GetDiskInfo()
        TextBox2.Text = diskInfo(0)
        TextBox4.Text = diskInfo(1)

        ' 3. معرفة نوع الهارد ديسك
        Dim diskType As String = GetDiskType()
        TextBox3.Text = diskType
    End Sub

    ' 1. معرفة حجم الرام
    Private Function GetRAMSize() As Double
        Dim ramSize As Double = 0
        Dim searcher As New ManagementObjectSearcher("SELECT Capacity FROM Win32_PhysicalMemory")
        For Each queryObj As ManagementObject In searcher.Get()
            ramSize += CDbl(queryObj("Capacity")) / 1024 ^ 3 ' تحويل البايت إلى جيجابايت
        Next
        Return ramSize
    End Function

    ' 2. معرفة حجم الهارد ديسك بالكامل والمساحات الفراغية
    Private Function GetDiskInfo() As String()
        Dim diskSize As String = ""
        Dim freeSpace As String = ""
        Dim searcher As New ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk")
        For Each queryObj As ManagementObject In searcher.Get()
            If queryObj("DriveType").ToString() = "3" Then ' 3 يعني الهارد ديسك
                diskSize = queryObj("Size").ToString()
                freeSpace = queryObj("FreeSpace").ToString()
            End If
        Next
        Return {diskSize, freeSpace}
    End Function

    ' 3. معرفة نوع الهارد ديسك
    Private Function GetDiskType() As String
        Dim diskType As String = ""
        Dim searcher As New ManagementObjectSearcher("SELECT MediaType FROM Win32_DiskDrive")
        For Each queryObj As ManagementObject In searcher.Get()
            diskType = queryObj("MediaType").ToString()
        Next
        Return diskType
    End Function
End Class