منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : معرفة بيانات الجهاز
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته

ارجو المساعدة في كود لاظهار حجم الرام RAM 
وكود لاظهار حجم الهارد ديسك Hard desk 
وكود نوع الهارد ديسك HDD  او SDD

 ا
   TextBox1.Text = My.Computer.Info.OSFullName      النظام
        TextBox2.Text = System.Environment.MachineName  اسم الجهاز
        TextBox3.Text = My.Computer.Info.InstalledUICulture.EnglishName  اللغة 
        TextBox4.Text = System.Environment.UserName اسم المستخدم
        TextBox5.Text = System.Environment.UserDomainName  المجال الدومين


كود لاظهار مواصفات الجهاز  بالكامل
PHP كود :
Imports System.Management
Imports System
.Diagnostics

Public Class Form1

Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click

    Dim searcher 
As New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem")
    For Each queryObj As ManagementObject In searcher.Get()
        Dim totalRam As Double CDbl(queryObj("TotalVisibleMemorySize"))
        Dim freeRam As Double CDbl(queryObj("FreePhysicalMemory"))

        MessageBox.Show($"Total RAM: {totalRam / 1024} MB")
        MessageBox.Show($"Free RAM: {freeRam / 1024} MB")

    Next

    Dim searcher1 
As New ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk WHERE DeviceID='C:'")
    For Each queryObj As ManagementObject In searcher1.Get()
        Dim totalDisk As Double CDbl(queryObj("Size"))
        Dim freeDisk As Double CDbl(queryObj("FreeSpace"))

        MessageBox.Show($"Total Disk Space: {totalDisk / 1024 / 1024 / 1024} GB")
        MessageBox.Show($"Free Disk Space: {freeDisk / 1024 / 1024 / 1024} GB")
    Next


    Dim driveInfo 
As New DriveInfo("C")
    Dim driveType As DriveType driveInfo.DriveType

    
If IsDriveSolidState("C"Then
        MessageBox
.Show("Drive C: is an SSD")
    ElseIf driveType DriveType.Fixed Then
        MessageBox
.Show("Drive C: is an HDD")
    Else
        MessageBox.Show("Drive C: type is unknown")
    End If

End Sub

Function IsDriveSolidState(driveLetter As String) As Boolean
    Dim drive 
As DriveInfo = New DriveInfo(driveLetter)
    Return drive.DriveType DriveType.Fixed AndAlso drive.DriveFormat.ToUpper() = "NTFS"
End Function

End Class 
شكرا اخي على الرد والمشاركة
 قمت بإرفاق المشروع لم يظهر الكود المطلوب منه ويوجد خطا  
كما اضفت شاشة ثانية تظهر بيانات سيريال نمبر   لوحة الام   والهارد ديسك    ...الخ


ارجو التعديل على الكود الذي كتببته انت  واظهار المطلوب كل ناتج في textbox1 

اظهار حجم الرام  في textbox1
 اظهار حجم الهارد ديسك في textbox2 
اظهار نوع الهارد في textbox3
السلام عليكم


من قائمة : Project
أختر : Add Reference

من تبويب : Assemblies

أختر : System.Management
حددها   وأضغط OK

بعدها نفذ الكود الموجود في مشاركة (تركي الحلواني)
جرب المرفق
(23-11-23, 02:51 AM)3sem كتب : [ -> ]
(22-11-23, 11:57 AM)محمد بوقزاحة كتب : [ -> ]شكرا اخي على الرد والمشاركة
 قمت بإرفاق المشروع لم يظهر الكود المطلوب منه ويوجد خطا  
كما اضفت شاشة ثانية تظهر بيانات سيريال نمبر   لوحة الام   والهارد ديسك    ...الخ


ارجو التعديل على الكود الذي كتببته انت  واظهار المطلوب كل ناتج في textbox1 

اظهار حجم الرام  في textbox1
 اظهار حجم الهارد ديسك في textbox2 
اظهار نوع الهارد في textbox3

جرب هذا التعديل
  شكرا اخي
       Dim searcher As New ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem")
       For Each queryObj As ManagementObject In searcher.Get()
           Dim totalRam As Double = CDbl(queryObj("TotalVisibleMemorySize"))
           Dim freeRam As Double = CDbl(queryObj("FreePhysicalMemory"))
           textbox1.text="Total RAM: " & (totalRam / 1024) & " MB"
       Next

       Dim searcher1 As New ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk WHERE DeviceID='C:'")
       For Each queryObj As ManagementObject In searcher1.Get()
           Dim totalDisk As Double = CDbl(queryObj("Size"))
           Dim freeDisk As Double = CDbl(queryObj("FreeSpace"))
           textbox2.text="Total Disk Space: " & (totalDisk / 1024 / 1024 / 1024) & " GB"
       Next

       Dim driveInfo As New DriveInfo("C")
       Dim driveType As DriveType = driveInfo.DriveType
       If driveInfo.DriveType = driveType.Fixed AndAlso driveInfo.DriveFormat.ToUpper() = "NTFS" Then
           textbox3.text="Drive C: is an SSD"
       ElseIf driveType = driveType.Fixed Then
           textbox3.text="Drive C: is an HDD"
       Else
           textbox3.text="Drive C: type is unknown"
       End If
شكرا اخوتي الكرام 

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




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


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



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

قم بتجربة هذا الكود


PHP كود :
Imports System.Management

Public Class Form1
    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click
        
' 1. معرفة حجم الرام
        Dim ramSize As Long = My.Computer.Info.TotalPhysicalMemory
        Dim formattedRamSize As String = FormatSize(ramSize)
        MessageBox.Show($"حجم الرام: {formattedRamSize}", "معلومات النظام")

        ' 
2. معرفة حجم الهارد ديسك بالكامل
        Dim hddSize 
As Long GetTotalHDDSize("C:")
 
       Dim formattedHddSize As String FormatSize(hddSize)
 
       MessageBox.Show($"حجم الهارد ديسك: {formattedHddSize}""معلومات النظام")

 
       ' 3. معرفة المستخدم والمساحات الفراغة في الهارد ديسك
        Dim driveInfo As System.IO.DriveInfo = New System.IO.DriveInfo("C:")
        Dim availableSpace As Long = driveInfo.AvailableFreeSpace
        Dim formattedAvailableSpace As String = FormatSize(availableSpace)
        Dim totalSpace As Long = driveInfo.TotalSize
        Dim formattedTotalSpace As String = FormatSize(totalSpace)
        Dim usedSpace As Long = totalSpace - availableSpace
        Dim formattedUsedSpace As String = FormatSize(usedSpace)

        MessageBox.Show($"المستخدم: {Environment.UserName}{Environment.NewLine}" &
                        $"المساحة الفارغة: {formattedAvailableSpace}{Environment.NewLine}" &
                        $"المساحة المستخدمة: {formattedUsedSpace}{Environment.NewLine}" &
                        $"إجمالي المساحة: {formattedTotalSpace}",
                        "معلومات الهارد ديسك")
    End Sub

    ' 
تنسيق حجم الذاكرة
    Private 
Function FormatSize(ByVal size As Long) As String
        Dim sizes
() As String = {"B""KB""MB""GB""TB"}
 
       Dim order As Integer 0
        While size 
>= 1024 AndAlso order sizes.Length 1
            order 
+= 1
            size 
size 1024
        End 
While
 
       Return String.Format("{0:0.##} {1}"sizesizes(order))
 
   End Function

 
   ' الحصول على حجم الهارد ديسك بالكامل
    Private Function GetTotalHDDSize(ByVal driveLetter As String) As Long
        Dim searcher As New ManagementObjectSearcher($"SELECT Size FROM Win32_LogicalDisk WHERE DeviceID = '
{driveLetter}'")
        For Each disk As ManagementObject In searcher.Get()
            Return Convert.ToInt64(disk("Size"))
        Next
        Return 0
    End Function
End Class