GNU/Linux >> Linux Esercitazione >  >> Linux

Linux C++:ottieni la frequenza di aggiornamento di un monitor

Usa l'API XRandr (man 3 Xrandr). Vedi qui per un esempio:

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

Puoi anche guardare il codice per xrandr(1).

Edit1:Per amor di posterità:

Codice di esempio leggermente adattato in modo che sia più una demo:

#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);
}

Compila con:

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

Uscita:

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

Linux
  1. Ottieni l'indirizzo IP di un'interfaccia su Linux

  2. Come ottenere l'utilizzo totale della CPU in Linux usando C++

  3. Come ottenere il numero di CPU in Linux usando C?

  4. Come rilevare l'avvio di programmi su Linux?

  5. Come impostare l'indirizzo IP da C in Linux

Torna alle origini con il desktop TWM Linux

Come ottenere la dimensione di una directory in Linux

Come ottenere il nome del file dal percorso completo in Linux

Come ottenere il numero di processori/core in Linux

Ottieni un indirizzo IP su Linux:scopri i molti modi

Come ottenere il numero di dischi fisici in Linux?