我想获取一个特定于我的耳机的唯一ID,作为PnP连接到我的系统。 当我将耳机连接到其他系统时,此ID应该相同。
我尝试过使用DeviceId和PNPDeviceId,但在连接到其他系统时会得到不同的值。
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_PnPEntity");
foreach (ManagementObject queryObj in searcher.Get())
{
if (queryObj["Description"].ToString().ToLower().Contains("audio"))
{
Console.WriteLine("DeviceID: {0}", queryObj["DeviceID"]);
Console.WriteLine("Description: {0}", queryObj["Description"]);
Console.WriteLine("PNPDeviceID: {0}", queryObj["PNPDeviceID"]);
}
}
以下是我为同一耳机获得的值:
DeviceID: HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_17AA3070&REV_1001\4&A87FB78&0&0001
Description: High Definition Audio Device
PNPDeviceID: HDAUDIO\FUNC_01&VEN_10EC&DEV_0662&SUBSYS_17AA3070&REV_1001\4&A87FB78&0&0001
和
DeviceID: HDAUDIO\FUNC_01&VEN_11D4&DEV_1984&SUBSYS_10280211&REV_1004\4&851744B&0&0001
Description: High Definition Audio Device
PNPDeviceID: HDAUDIO\FUNC_01&VEN_11D4&DEV_1984&SUBSYS_10280211&REV_1004\4&851744B&0&0001
有没有办法获得该设备的唯一ID?