Добавить Program.cs
Обязательна установка NuGet пакета System.Management.
This commit is contained in:
+55
@@ -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> drivers = new List<Drivers>();
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user