我正在尝试使用 NSIS 创建一个安装程序,并且有一个用于检查硬件要求的自定义页面。目前,我正在使用HwInfo插件,但问题是即使桌面有多个显卡,GetVideoCardName函数也只返回1个显卡名称。
如何使用 NSIS 获取所有已安装的显卡名称?
更新:
我使用WMI 标头来获取所有显卡名称。
如果有人有更好的选择,请告诉我。
除了安德斯回答:我也是这么想的——适配HwInfo插件并没有那么难。你需要做什么?
GetVideoCardName()
(in NSISFunctions.cpp
) 方法调用GetVideoAdapterDescription()
in 中的方法HardwareInfo.cpp
。由于每个人都受益,因此值得贡献(我过去曾为 nsis 贡献过)。
您可能需要编写自己的自定义插件或修改 HwInfo 插件。
如果您正在安装游戏,您可能需要查看DirectDrawEnumerateEx和类似功能,或者可能需要查看 GDI 级别设备的EnumDisplayDevices。