我试图弄清楚如何使用 .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 的设备。