Информация про клавиатуру и мышь C#

572
04 января 2017, 00:51

Здравствуйте! Задача сделать аналог AIDA или Speccy, но более упрощенный. Делаю на С#, Windows Forms используя Environment, реестр и DriveInfo.

Возникли трудности с выводом инфы о мышке и клавиатуре. Хочу отображать в TextBox хотя бы то, что они подключены, но понятия не имею, где искать это. Были мысли, что есть в реестре имя, которое хранит какое то значение 1 или 0, что они подключены.

Вопрос таков: Где искать информацию о том, что с ПК подключены мышка и клавиатура.

P.S Приложение должно работать на разных ПК или ноутбука с ОС Win7 и выше

Answer 1

В 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;
    }
READ ALSO
Поиск в бд Sqlite кириллицы. C#

Поиск в бд Sqlite кириллицы. C#

Проблема такая: в бд все ищется очень хорошо, пока это английский, но на русском не ищет вообще ничегоДаже если учитывать регистр и даже если...

515
Рефакторинг программы

Рефакторинг программы

Я написал программу,которая рандомным образом выбирает глагол на русском языке из текстового документа и показывает нам егоЗадача пользователя...

444
Несколько коллекций на одном Canvas

Несколько коллекций на одном Canvas

Нужно отобразить несколько коллекций на одном Canvas'еСейчас сделано так - объединил ObservableCollection's в CompositeCollection и в xaml:

444
Нужна помощь в c# [требует правки]

Нужна помощь в c# [требует правки]

По зданию надо в c# написать табулирование функции на числовом промежутке a,b с шагом p, желательно с комментариями что на каждом шаге делается,...

698