我正在使用 WMI 查询来检测 USB 到串行端口,但问题是在 windows 7 中应用程序需要很长时间才能启动,而在 windows xp 中它工作正常。我正在以下列方式使用 wmi 查询
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_PnPDevice");
foreach (ManagementObject queryObj in searcher.Get())
{
if (queryObj["SameElement"].ToString().Contains("SerialPort"))
{
//do something
}
}
根据我的推理,这是由于大量 Pnp 设备和从该列表中查询串行端口而发生的。我尝试使用 Win32_SerialPort,但它在我的笔记本电脑(windows 7)上在 windows xp 中工作,即使它们是虚拟串行端口和 USB 到串行端口,它也会显示不支持的消息。即使从管理员帐户也不起作用。MSSerial_PortName 在我的笔记本电脑(windows7)上也不起作用。因此,他们有什么方法可以让我的应用程序在 Windows 7 中使用 WMI 查询更快地启动?