Как узнать модель винчестера на диске C - C#
Формулировка задачи:
Добрый день!
Как узнать модель винчестера или SSD, на котором располагается диск C.
Интересует, как получить максимум информации: модель, количество оборотов в секунду, общий объем, свободное место и т.д.
Решение задачи: «Как узнать модель винчестера на диске C»
textual
Листинг программы
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Management; using Microsoft.Win32; namespace HDDInfo { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { ManagementObjectSearcher mosDisks = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive"); foreach (ManagementObject moDisk in mosDisks.Get()) { cmbHdd.Items.Add(moDisk["Model"].ToString()); } } private void cmbHdd_SelectedIndexChanged(object sender, EventArgs e) { ManagementObjectSearcher mosDisks = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive WHERE Model = '" + cmbHdd.SelectedItem + "'"); foreach (ManagementObject moDisk in mosDisks.Get()) { lblType.Text = "Type: " + moDisk["MediaType"].ToString(); lblModel.Text = "Model: " + moDisk["Model"].ToString(); lblSerial.Text = "Serial: " + moDisk["SerialNumber"].ToString(); lblInterface.Text = "Interface: " + moDisk["InterfaceType"].ToString(); lblCapacity.Text = "Capacity: " + moDisk["Size"].ToString() + " bytes (" + Math.Round(((((double)Convert.ToDouble(moDisk["Size"]) / 1024) / 1024) / 1024), 2) + " GB)"; lblPartitions.Text = "Partitions: " + moDisk["Partitions"].ToString(); lblSignature.Text = "Signature: " + moDisk["Signature"].ToString(); lblFirmware.Text = "Firmware: " + moDisk["FirmwareRevision"].ToString(); lblCylinders.Text = "Cylinders: " + moDisk["TotalCylinders"].ToString(); lblSectors.Text = "Sectors: " + moDisk["TotalSectors"].ToString(); lblHeads.Text = "Heads: " + moDisk["TotalHeads"].ToString(); lblTracks.Text = "Tracks: " + moDisk["TotalTracks"].ToString(); lblBytesPerSect.Text = "Bytes per Sector: " + moDisk["BytesPerSector"].ToString(); lblSectorsPerTrack.Text = "Sectors per Track: " + moDisk["SectorsPerTrack"].ToString(); lblTracksPerCyl.Text = "Tracks per Cylinder: " + moDisk["TracksPerCylinder"].ToString(); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д