【问题标题】:How to Determine which Graphic Card is in use (Win32)如何确定正在使用的显卡 (Win32)
【发布时间】:2012-11-12 14:29:26
【问题描述】:

对于我的 3ds max 插件中的错误报告功能,我想显示有关视频卡的信息(型号、驱动程序信息等)。

我已经发现显卡的信息可以从注册表中获取:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}}\

然后每个图形卡都有一个以0000开头的密钥。 在我的笔记本上有两个这样的键,第一个代表我的板载显卡,我的插件可以忽略它。

如何确定当前使用的显卡名称?

【问题讨论】:

  • 是否可以使用 Win32 内置方法(gamedev.net/topic/…)?如果是,这可能是解决方案。
  • @KarelBurda 是的,这是可能的,但不幸的是 EnumDisplayDevices () 没有提供当前使用的卡的信息。我只能检查哪张是主卡,而这实际上是板载的一张
  • @HansPassant Thx,我会尽快检查这个功能
  • 请记住,可能会使用多个显示适配器(在多显示器设置中,没有必要将所有显示器都放在一张卡上)

标签: c++ winapi registry


【解决方案1】:

这可以使用 DirectX 10+ 来完成,如 here on MSDN 所述。

DirectX 10 默认包含在 Windows Vista 中,DirectX 11 包含在 Windows7 中,DirectX 11.1 包含在 Windows 8 中。

【讨论】:

    【解决方案2】:

    我不知道,但我记得“WMI”可能是与此类查询相关的 API。

    我搜索了wmi video card: 并发现the Win32_VideoController class 可能包含您想要的信息(但我对此一无所知)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-17
      • 2021-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多