gpt4 book ai didi

c# - 如何获取 PCI 设备的设备 ID?

转载 作者:太空狗 更新时间:2023-10-30 01:23:10 29 4
gpt4 key购买 nike

我正在尝试使用 C# 从设备管理器获取系统设备 ID。我找到了一些代码来查找 USB 设备 ID,但我不知道如何将代码从 USB 设备更改为 PCI 设备。

这是我找到的代码:

 ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_SystemDevices WHERE InterfaceType='USB'");    
foreach (ManagementObject mo in mos.Get())
{
ManagementObject query = new ManagementObject("Win32_PhysicalMedia.Tag='" + mo["DeviceID"] + "'");
Console.WriteLine(query["SerialNumber"]);
}

最佳答案

根据 MSDN,Win32_PhysicalMedia 代表任何类型的文档或存储介质。如果您想从 PCI 设备获取 DeviceID(就像在控制面板的设备管理器中一样)- 您需要 Win32_PnPEntity 类,它表示即插即用设备的属性。所以,尝试使用这段代码:

ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_PnPEntity");

foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("DeviceID: {0}", queryObj["DeviceID"]);
Console.WriteLine("Description: {0}", queryObj["Description"]);
}

运行这段代码为我提供了很多关于我的 PCI 设备的信息

关于c# - 如何获取 PCI 设备的设备 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11966684/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com