我们有一款软件可以在多种不同的显卡上运行,包括 ATI 和 NVIDIA。在安装驱动程序之前,我需要能够确定显卡的设备 ID 或型号名称,以便我可以创建一个可以使用我们支持的任何显卡启动的硬盘驱动器映像,拥有它首次启动时检测显卡,安装驱动程序然后重新启动。目标平台是 WinXP。
我尝试使用 WMI,但它只能检索有关显示适配器的信息,其中不包括设备 ID,并且在安装驱动程序之前,显示适配器将只有通用数据,如“视频控制器 (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);