Created
January 22, 2012 08:46
-
-
Save mayuki/1656292 to your computer and use it in GitHub Desktop.
Get Display Size
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.Linq; | |
using System.Runtime.InteropServices; | |
using System.Text; | |
using System.Threading.Tasks; | |
namespace ConsoleApplication1 | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
var hDC = GetDC(IntPtr.Zero); | |
var vertSize = GetDeviceCaps(hDC, DeviceCap.VERTSIZE); | |
var horzSize = GetDeviceCaps(hDC, DeviceCap.HORZSIZE); | |
Console.WriteLine("{0}x{1}mm", horzSize, vertSize); | |
Console.Read(); | |
} | |
[DllImport("User32.dll")] | |
static extern IntPtr GetDC(IntPtr hwnd); | |
[DllImport("gdi32.dll")] | |
static extern int GetDeviceCaps(IntPtr hdc, DeviceCap nIndex); | |
public enum DeviceCap | |
{ | |
/// <summary> | |
/// Device driver version | |
/// </summary> | |
DRIVERVERSION = 0, | |
/// <summary> | |
/// Device classification | |
/// </summary> | |
TECHNOLOGY = 2, | |
/// <summary> | |
/// Horizontal size in millimeters | |
/// </summary> | |
HORZSIZE = 4, | |
/// <summary> | |
/// Vertical size in millimeters | |
/// </summary> | |
VERTSIZE = 6, | |
/// <summary> | |
/// Horizontal width in pixels | |
/// </summary> | |
HORZRES = 8, | |
/// <summary> | |
/// Vertical height in pixels | |
/// </summary> | |
VERTRES = 10, | |
/// <summary> | |
/// Number of bits per pixel | |
/// </summary> | |
BITSPIXEL = 12, | |
/// <summary> | |
/// Number of planes | |
/// </summary> | |
PLANES = 14, | |
/// <summary> | |
/// Number of brushes the device has | |
/// </summary> | |
NUMBRUSHES = 16, | |
/// <summary> | |
/// Number of pens the device has | |
/// </summary> | |
NUMPENS = 18, | |
/// <summary> | |
/// Number of markers the device has | |
/// </summary> | |
NUMMARKERS = 20, | |
/// <summary> | |
/// Number of fonts the device has | |
/// </summary> | |
NUMFONTS = 22, | |
/// <summary> | |
/// Number of colors the device supports | |
/// </summary> | |
NUMCOLORS = 24, | |
/// <summary> | |
/// Size required for device descriptor | |
/// </summary> | |
PDEVICESIZE = 26, | |
/// <summary> | |
/// Curve capabilities | |
/// </summary> | |
CURVECAPS = 28, | |
/// <summary> | |
/// Line capabilities | |
/// </summary> | |
LINECAPS = 30, | |
/// <summary> | |
/// Polygonal capabilities | |
/// </summary> | |
POLYGONALCAPS = 32, | |
/// <summary> | |
/// Text capabilities | |
/// </summary> | |
TEXTCAPS = 34, | |
/// <summary> | |
/// Clipping capabilities | |
/// </summary> | |
CLIPCAPS = 36, | |
/// <summary> | |
/// Bitblt capabilities | |
/// </summary> | |
RASTERCAPS = 38, | |
/// <summary> | |
/// Length of the X leg | |
/// </summary> | |
ASPECTX = 40, | |
/// <summary> | |
/// Length of the Y leg | |
/// </summary> | |
ASPECTY = 42, | |
/// <summary> | |
/// Length of the hypotenuse | |
/// </summary> | |
ASPECTXY = 44, | |
/// <summary> | |
/// Shading and Blending caps | |
/// </summary> | |
SHADEBLENDCAPS = 45, | |
/// <summary> | |
/// Logical pixels inch in X | |
/// </summary> | |
LOGPIXELSX = 88, | |
/// <summary> | |
/// Logical pixels inch in Y | |
/// </summary> | |
LOGPIXELSY = 90, | |
/// <summary> | |
/// Number of entries in physical palette | |
/// </summary> | |
SIZEPALETTE = 104, | |
/// <summary> | |
/// Number of reserved entries in palette | |
/// </summary> | |
NUMRESERVED = 106, | |
/// <summary> | |
/// Actual color resolution | |
/// </summary> | |
COLORRES = 108, | |
// Printing related DeviceCaps. These replace the appropriate Escapes | |
/// <summary> | |
/// Physical Width in device units | |
/// </summary> | |
PHYSICALWIDTH = 110, | |
/// <summary> | |
/// Physical Height in device units | |
/// </summary> | |
PHYSICALHEIGHT = 111, | |
/// <summary> | |
/// Physical Printable Area x margin | |
/// </summary> | |
PHYSICALOFFSETX = 112, | |
/// <summary> | |
/// Physical Printable Area y margin | |
/// </summary> | |
PHYSICALOFFSETY = 113, | |
/// <summary> | |
/// Scaling factor x | |
/// </summary> | |
SCALINGFACTORX = 114, | |
/// <summary> | |
/// Scaling factor y | |
/// </summary> | |
SCALINGFACTORY = 115, | |
/// <summary> | |
/// Current vertical refresh rate of the display device (for displays only) in Hz | |
/// </summary> | |
VREFRESH = 116, | |
/// <summary> | |
/// Horizontal width of entire desktop in pixels | |
/// </summary> | |
DESKTOPVERTRES = 117, | |
/// <summary> | |
/// Vertical height of entire desktop in pixels | |
/// </summary> | |
DESKTOPHORZRES = 118, | |
/// <summary> | |
/// Preferred blt alignment | |
/// </summary> | |
BLTALIGNMENT = 119 | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
THANKS FOR COMMENTS!!!.