【问题标题】:How to get the type of connected monitor(s) on Windows XP?如何在 Windows XP 上获取已连接显示器的类型?
【发布时间】:2012-08-10 04:50:13
【问题描述】:

我需要知道计算机通过 C++ 程序使用的显示器类型(即平面屏幕、CRT 等)。主要要求是此代码可以在 Windows XP SP3 上运行(因为否则,系统几乎可以在 LCD 屏幕上运行。)

我需要它来实现屏幕调光以节省能源,这仅适用于 CRT,而对平面屏幕有相反的效果。

知道怎么做吗?

【问题讨论】:

  • Vista 中非常大的变化,支持新的 WMI 类来获取此类信息。由新的 LDDM 驱动程序模型支持。经验?嗯,11 年前的生活要简单得多
  • 是的,我知道。不幸的是,XP系统比Vista多得多,实际上需要这些知识.... :(
  • 有趣。您正在编写什么样的代码,它可能会对 CRT、LCD 或 LED 产生影响?
  • @AJG85:“谢谢”谁投了反对票。像你这样的问题总是让我感到惊讶。如果您不愿意提供帮助,是否值得您花时间问它?我需要它来实现屏幕调光以节省能源,这仅适用于 CRT,而对平面屏幕有相反的效果。
  • 这可能是另一个 XY 问题。为什么你认为你需要这些信息?询问问题,而不是半成品的解决方案。有太多的角落案例,例如LCD 不是以原始分辨率驱动的。

标签: c++ winapi windows-xp monitor lcd


【解决方案1】:

使用 Win32 API 中的 GetMonitorInfo 函数可以获取 Monitor 的大部分信息

BOOL GetMonitorInfo(
  __in   HMONITOR hMonitor,
  __out  LPMONITORINFO lpmi
);

这会将输出提供给 MONITORINFO 或 MONITORINFOEX 结构,您可以在其中提取有关当前连接的监视器的信息

【讨论】:

  • 对不起,我怎么从这些结构中知道显示器的类型?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-02
  • 1970-01-01
  • 1970-01-01
  • 2011-07-30
  • 2012-03-10
  • 1970-01-01
相关资源
最近更新 更多