GNU/Linux >> Tutoriales Linux >  >> Linux

C++ Linux:obtenga la frecuencia de actualización de un monitor

Utilice la API de XRandr (man 3 Xrandr). Vea aquí un ejemplo:

  • http://www.blitzbasic.com/Community/posts.php?topic=86911

También puede consultar el código de xrandr(1).

Edit1:Por el bien de la posteridad:

Código de muestra ligeramente ajustado para que sea más una demostración:

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <iostream>
#include <unistd.h>
#include <X11/Xlib.h>
#include <X11/extensions/Xrandr.h>

int main()
{
    int num_sizes;
    Rotation current_rotation;

    Display *dpy = XOpenDisplay(NULL);
    Window root = RootWindow(dpy, 0);
    XRRScreenSize *xrrs = XRRSizes(dpy, 0, &num_sizes);
    //
    //     GET CURRENT RESOLUTION AND FREQUENCY
    //
    XRRScreenConfiguration *conf = XRRGetScreenInfo(dpy, root);
    short current_rate = XRRConfigCurrentRate(conf);
    SizeID current_size_id = XRRConfigCurrentConfiguration(conf, &current_rotation);

    int current_width = xrrs[current_size_id].width;
    int current_height = xrrs[current_size_id].height;
    std::cout << "current_rate = " << current_rate << std::endl;
    std::cout << "current_width = " << current_width << std::endl;
    std::cout << "current_height = " << current_height << std::endl;

    XCloseDisplay(dpy);
}

Compilar con:

g++ 17797636.cpp -o 17797636 -lX11 -lXrandr

Salida:

$ ./17797636 
current_rate = 50
current_width = 1920
current_height = 1080

Linux
  1. Obtener la dirección IP de una interfaz en Linux

  2. Cómo obtener el uso total de la CPU en Linux usando C++

  3. ¿Cómo obtener la cantidad de CPU en Linux usando C?

  4. ¿Cómo detectar el lanzamiento de programas en Linux?

  5. Cómo configurar la dirección IP desde C en Linux

Vuelva a lo básico con el escritorio TWM Linux

Cómo obtener el tamaño de un directorio en Linux

Cómo obtener el nombre de archivo de la ruta completa en Linux

Cómo obtener la cantidad de procesadores/núcleos en Linux

Obtenga una dirección IP en Linux:descubra las muchas formas

C++ obtener nombre de distribución de Linux\versión