c - 如何在Linux中获取显示设备名称

标签 c linux

我想找到 EnumDisplayDevices 的 linux 类似物和 EnumDisplaySettingsEx WinAPI 函数。

我需要获取的信息是显示名称和状态(无论是否事件)、宽度、高度、每像素位数和频率。 如何使用 C (C++) 获取此信息? 谢谢。

最佳答案

正如“一些程序员家伙”在评论中提到的,您可能必须通过 X 窗口系统。最具体的一种选择是 RandR 协议(protocol)。这是protocol specification以及命令 xrandr 的源代码它调用 XRR 函数并在终端上输出您想要的大部分信息。寻找出现的地方

XRRScreenResources  *res

被填充,然后如何使用 find_mode() 函数从中获取模式。

其他可能对您有帮助且无需遍历 RandR 扩展的命令可能是 xprop(1)、xdpyinfo(1)、xwininfo(1)

关于c - 如何在Linux中获取显示设备名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54481509/

相关文章:

linux - 如何使用 "find"在名称中包含空格的目录中搜索文件?

linux - SLES 12 : Client service neither service nor target?

linux - 安装 mpich2 总是安装我 mpich

c - 在堆栈上创建 char** 缓冲区的更好方法?

c - 使用 MPI_Pack 和 Unpack 以及 MPI_send 和 Recieve 时收到的垃圾值

c - 将静态数组传递给函数是否有效?

c - 用于 linux c 的图形用户界面

ruby-on-rails - rails config "Central Time (US & Canada)"与本地时间的 "/usr/share/zoneinfo/US/Eastern"相同吗?

c - 修整一个字符串,为什么while循环后面有分号?

c - 一个程序,打印用户使用函数输入的星号数量并将值传递给该函数