我正在尝试使用.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);
可悲的是,上面的例子已经为我打印了一份驱动程序列表。我通过插入和拔出我的扬声器和麦克风来测试它,但无论打印的设备数量都是相同的。
我想知道是否有更好的方法来跟踪连接到PC的设备。