我想通过WMI或c ++中的其他方式知道用户是否已集成或专用GPU卡?
我已经通过Win32_VideoController,找不到任何可以帮助我区分这两者的东西.
提前致谢.
令人惊讶的是,这么多年了,没有人提出这个想法。大多数人都说不可能,确实Windows原生并没有提供任何手段来检测是iGPU还是dGPU。然而,如果你能忍受这些限制的话,我设法让它在一定程度上发挥作用。总体思路是,您可以使用 wmic 获取已安装 CPU 的名称,并维护所有具有集成显卡的 CPU 的列表(该列表可能很短,具体取决于您需要此功能的用途。)对于较新的 CPU 型号,例如第 9 代或更新的英特尔台式机处理器和 AMD Ryzen 1000 及更新的处理器,您可以简单地通过 CPU 命名来辨别。不带集成显卡的Intel 处理器将以字母 F 结尾,而带集成显卡的 AMD 处理器以字母 G 结尾。然后您可以使用 wmic 获取所有 GPU(包括 iGPU)的列表,并通过计算安装的 GPU 数量,您可以轻松判断用户是否拥有 iGPU 或 dGPU,因为不可能拥有超过 1 个 iGPU。因此,如果您检测到CPU带有iGPU,并且wmic只报告1个GPU,那么您就知道它肯定是iGPU。另一方面,如果报告了多个 GPU,您就知道其中一个肯定是 dGPU。当然,如果用户自己手动禁用 iGPU,这不起作用,因此我说这种方法有局限性。
| 归档时间: |
|
| 查看次数: |
165 次 |
| 最近记录: |