C # Информация об оборудовании - PullRequest
0 голосов
/ 20 мая 2018

У меня есть этот код для получения информации об оборудовании, и у меня есть две проблемы:

  1. Я не могу показать мне оперативную память и имя2

  2. Мне нужно немного пояснений ко второй части, чтобы немного понять, как это работает.

Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Management;

   namespace ConsoleApp1
 {
  class Program
   {
    static void Main(string[] args)
    {
        Console.Write("Motherboard Manufacturer: ");
        GetComponent("Win32_BaseBoard", "Manufacturer");
        Console.Write("Motherboard Model:");
        GetComponent("Win32_BaseBoard", "Product");
        Console.Write("CPU:");
        GetComponent("Win32_Processor", "Name");
        Console.Write("GPUs:");
        GetComponent("Win32_VideoController", "Name");
        Console.Write("BIOS Brand: ");
        GetComponent("Win32_BIOS", "Manufacturer");
        Console.Write("BIOS version: ");
        GetComponent("Win32_BIOS", "Name");
        Console.Write("Audio:");
        GetComponent("Win32_SoundDevice", "ProductName");
        Console.Write("Optical Drives:");
        GetComponent("Win32_CDROMDrive", "Name");
        Console.Write("Device Name:");
        GetComponent("Win32_ComputerSystem", "Name");
        Console.Write("HDD:");
        GetComponent("Win32_DiskDrive", "Model");
        Console.Write("Network:");
        GetComponent("Win32_NetworkAdapter", "Name");
        Console.Read();


    }



    private static void GetComponent(string hwclass, string syntax)
    {
        ManagementObjectSearcher mos = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM " + hwclass);
        foreach (ManagementObject mj in mos.Get())
        {
            if (Convert.ToString(mj[syntax]) != "")
                Console.WriteLine(Convert.ToString(mj[syntax]));
        }
    }
}
}

1 Ответ

0 голосов
/ 20 мая 2018

Это частичный ответ.

  1. Для оперативной памяти (физической памяти) Используйте следующий класс.

    Win32_PhysicalMemory
    

Также я предлагаю вместо имени попытаться прочитать Capicity, PartNumberили свойство серийного номера, так что это будет полезно.(Тег тоже полезен).

...