如何在C++中获取屏幕分辨率

How to get screen resolution in C++?

本文关键字:获取 屏幕 分辨率 C++      更新时间:2023-10-16

可能的重复项:
如何从hWnd获取显示器屏幕分辨率?

有没有办法获得C++的屏幕分辨率?
我已经搜索了MSDN,但没有运气。我发现的最接近的东西是 ChangeDisplaySettingsEx((,但这似乎没有办法只返回 res 而不更改它。

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

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

在Embarcadero C++构建器中,你可以这样得到它

Screen->Height;
Screen->Width;

这是特定于Embarcadero产品提供的VCL框架:C++ Builder,Delphi。