From 30a4f05ee1b2030ec642f7b5ae9d356e8228150b Mon Sep 17 00:00:00 2001 From: SwEdryG Date: Wed, 10 Jun 2026 23:53:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20Program.cs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Обязательна установка NuGet пакета System.Management. --- Program.cs | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Program.cs diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..6f3cae5 --- /dev/null +++ b/Program.cs @@ -0,0 +1,55 @@ +using System.Management; + +class Drivers +{ + public string? Path_Device_driver { get; set; } + public string? Name_Device_driver { get; set; } + public string? Status_Device_driver { get; set; } +} +class View_driver +{ + static void Main(string[] args) + { + List drivers = new List(); + string unknownName = "Неизвестное устройство"; + var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity"); + foreach (ManagementObject obj in searcher.Get()) + { + var driver = new Drivers + { + Name_Device_driver = obj["Name"]?.ToString() ?? unknownName, + Status_Device_driver = obj["Status"]?.ToString() ?? unknownName, + Path_Device_driver = obj["ClassGuid"]?.ToString() ?? unknownName + }; + drivers.Add(driver); + var statusColor = driver.Status_Device_driver switch + { + "OK" => ConsoleColor.Green, + "Error" => ConsoleColor.Red, + "Degraded" => ConsoleColor.Yellow, + _ => ConsoleColor.Gray + }; + var nameColor = driver.Name_Device_driver == unknownName + ? ConsoleColor.Red + : ConsoleColor.DarkGray; + + Console.Write("Имя: "); + Console.ForegroundColor = nameColor; + Console.Write(driver.Name_Device_driver); + + Console.ResetColor(); + Console.Write(" | Статус: "); + Console.ForegroundColor = statusColor; + Console.Write(driver.Status_Device_driver); + + Console.ResetColor(); + Console.Write(" | Путь: "); + Console.ForegroundColor = ConsoleColor.DarkYellow; + Console.Write($"{driver.Path_Device_driver}\n"); + Console.ResetColor(); + + Thread.Sleep(5); + } + } + +} \ No newline at end of file