web-dev-qa-db-fra.com

Comment obtenir la résolution d'écran en C ++?

Duplicata possible:
Comment obtenir la résolution d'écran du moniteur à partir d'un hWnd?

Existe-t-il un moyen d'obtenir la résolution d'écran en C++?
J'ai recherché MSDN mais sans succès. La chose la plus proche que j'ai trouvée était ChangeDisplaySettingsEx () mais cela ne semble pas avoir un moyen de simplement retourner la résolution sans la changer.

30
Nate Koppenhaver
#include "wtypes.h"
#include <iostream>
using namespace std;

// Get the horizontal and vertical screen sizes in pixel
void GetDesktopResolution(int& horizontal, int& vertical)
{
   RECT desktop;
   // Get a handle to the desktop window
   const HWND hDesktop = GetDesktopWindow();
   // Get the size of screen to the variable desktop
   GetWindowRect(hDesktop, &desktop);
   // The top left corner will have coordinates (0,0)
   // and the bottom right corner will have coordinates
   // (horizontal, vertical)
   horizontal = desktop.right;
   vertical = desktop.bottom;
}

int main()
{       
   int horizontal = 0;
   int vertical = 0;
   GetDesktopResolution(horizontal, vertical);
   cout << horizontal << '\n' << vertical << '\n';
   return 0;
}

Source: http://cppkid.wordpress.com/2009/01/07/how-to-get-the-screen-resolution-in-pixels/

54
eboix

Dans le constructeur Embarcadero C++, vous pouvez l'obtenir comme ceci

Screen->Height;
Screen->Width;

Ceci est spécifique au framework VCL fourni avec les produits Embarcadero: C++ Builder, Delphi.

0
Shaun07776