Здравствуйте! Задача сделать аналог AIDA или Speccy, но более упрощенный. Делаю на С#, Windows Forms используя Environment, реестр и DriveInfo.
Возникли трудности с выводом инфы о мышке и клавиатуре. Хочу отображать в TextBox хотя бы то, что они подключены, но понятия не имею, где искать это. Были мысли, что есть в реестре имя, которое хранит какое то значение 1 или 0, что они подключены.
Вопрос таков: Где искать информацию о том, что с ПК подключены мышка и клавиатура.
P.S Приложение должно работать на разных ПК или ноутбука с ОС Win7 и выше
В References проекта установите ссылку на System.Management.
В том классе где будете работать пропишите using System.Management;
Пример консольной программы:
static void Main(string[] args)
{
Console.WriteLine(HasDevice("PointingDevice"));
Console.WriteLine(HasDevice("Keyboard"));
Console.ReadKey();
}
private static bool HasDevice(string typeDevice)
{
var mObjects = new ManagementObjectSearcher(@"root\cimv2", "SELECT * FROM Win32_" + typeDevice);
//выводим разнообразную информацию об устройствах
var devices = (from ManagementObject d in mObjects.Get() as ManagementObjectCollection
select d);
foreach (var item in devices)
{
foreach (var p in item.Properties)
{
Console.WriteLine($"{p.Name}==>{p.Value}");
}
}
//определяем подключено ли устройство
var result = (from ManagementObject d in mObjects.Get() as ManagementObjectCollection
where d.Properties["Status"].Value.ToString() == "OK"
select d).First();
//выводим результат
return result != null;
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей