BelhardTraining.LessonIO.Program.PrintAllPhysicalDrives C# (CSharp) Метод

PrintAllPhysicalDrives() статический приватный Метод

Печатаем часть информации о физических дисках с помощью WMI классов: * Win32_FloppyDrive - флоппи-диски * Win32_DiskDrive - внутренние и внешние диски. Также флэшки. * Win32_CDROMDrive - оптические диски
Полный список WMI классов есть в MSDN http://msdn.microsoft.com/en-us/library/aa394554%28v=vs.85%29.aspx
static private PrintAllPhysicalDrives ( ) : void
Результат void
        static void PrintAllPhysicalDrives()
        {
            Console.WriteLine("Список локальных дисков");
            Console.WriteLine("=======================");
            using (ManagementClass mc = new ManagementClass("Win32_DiskDrive"))
            {
                ManagementObjectCollection x = mc.GetInstances();
                if (x.Count == 0)
                {
                    Console.WriteLine(" * Ни одного не найдено");
                }
                else
                {
                    foreach (ManagementObject mo in x)
                    {
                        Console.WriteLine(" * {0}", GetWmiValue(mo, "Caption"));
                        Console.WriteLine("\tРазмер         : {0}", GetWmiValue(mo, "Size"));
                        Console.WriteLine("\tКол-во разделов: {0}", GetWmiValue(mo, "Partitions"));
                        Console.WriteLine("\tСерийный номер : {0}", GetWmiValue(mo, "SerialNumber"));
                    }
                }
            }
            Console.WriteLine();

            Console.WriteLine("Список оптических дисков");
            Console.WriteLine("========================");
            using (ManagementClass mc = new ManagementClass("Win32_CDROMDrive"))
            {
                ManagementObjectCollection x = mc.GetInstances();
                if (x.Count == 0)
                {
                    Console.WriteLine(" * Ни одного не найдено");
                    Console.WriteLine();
                }
                else
                {
                    foreach (ManagementObject mo in x)
                    {
                        Console.WriteLine(" * {0} ==> {1}", GetWmiValue(mo, "Drive"), GetWmiValue(mo, "Name"));
                    }
                }
            }
            Console.WriteLine();

            Console.WriteLine("Список floppy дисков");
            Console.WriteLine("====================");
            using (ManagementClass mc = new ManagementClass("Win32_FloppyDrive"))
            {
                ManagementObjectCollection x = mc.GetInstances();
                if (x.Count == 0)
                {
                    Console.WriteLine(" * Ни одного не найдено");
                    Console.WriteLine();
                }
                else
                {
                    foreach (ManagementObject mo in x)
                    {
                        Console.WriteLine(" * {0}", GetWmiValue(mo, "Caption"));
                        Console.WriteLine("\tМаксимальный размер: {0}", GetWmiValue(mo, "MaxMediaSize"));
                    }
                }
            }
        }