我们有一款软件可以在几种不同的显卡上运行,包括ATI和NVIDIA。在安装显卡驱动程序之前,我需要能够确定显卡的设备id或型号名称,这样我才能创建一个可以用我们支持的任何显卡启动的硬盘映像,让它在第一次启动时检测显卡,安装驱动程序,然后重新启动。目标平台为WinXP。
我尝试使用WMI,但它只能检索有关显示适配器的信息,其中不包括设备id,并且在安装驱动程序之前,显示适配器将只有通用数据,如名称的"Video Controller (VGA)“等。
在安装设备驱动程序之前,EnumDisplayDevices无法检测到该设备。
这肯定是可能的,因为当新硬件向导打开时,它知道图形卡的名称,但我就是找不到这样做的方法。
有什么想法吗?
编辑-以下是查询
ExecQuery(bstr_t("WQL"),bstr_t("SELECT * FROM Win32_PnPEntity WHERE DeviceID LIKE 'PCI\\VEN'"), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator);发布于 2012-05-09 23:56:45
为了将来供其他用户参考,我将添加我自己的答案。
与我在我的帖子中所说的相反,WMI实际上可以检测到未安装的设备,通过查询Win32_PNPEntity,你可以获得他们的设备in。
https://stackoverflow.com/questions/10516476
复制相似问题