Какие устройства ввода и вывода в настоящее время подключены
Я пытаюсь выяснить, как определить, подключены ли к определенной машине динамики, наушники или микрофон, используя.NET C#.
Я искал возможный способ достичь этого, но, похоже, ничего не помогало мне. Я столкнулся с пространством имен Microsoft.DirectX, которое позже привело меня к написанию следующего метода:
ManagementObjectSearcher mo = new ManagementObjectSearcher
("select * from Win32_SoundDevice");
int i = 0;
foreach (ManagementObject soundDevice in mo.Get())
{
Console.WriteLine(soundDevice.GetPropertyValue("DeviceId"));
Console.WriteLine(soundDevice.GetPropertyValue("Manufacturer"));
Console.WriteLine("\n\n\n",i++);
}
Console.WriteLine("Total: {0}", i);
К сожалению, приведенный выше пример напечатал список драйверов для меня, как кажется. Я проверил это, подключив и отключив мои динамики и микрофон, но количество печатаемых устройств было одинаковым независимо.
Мне интересно, есть ли лучший способ отслеживать устройства, подключенные к ПК.