Re: Windows DPI settings

On Jul 17, 9:07 am, David R. Longnecker <dlongnec...@xxxxxxxxxxxxxxxx>
System Metrics
Microsoft® Windows® provides a number of system metrics that you should use
to eliminate assumptions about the user's system. GetDeviceCaps() can be
used to obtain a display's DPI (pass in LOGPIXELSX or LOGPIXELSY for the
second parameter). GetSystemMetrics() and SystemParametersInfo() provide
sizes for nearly every graphical element in Windows, from the width of a
three-dimensional border to the size of a small icon. One of the less obvious
metrics is the minimum line thickness (pass SM_CYBORDER or SM_CXBORDER to
GetSystemMetrics). At very high DPIs, a one-pixel-wide line is nearly invisible.



David R. Longnecker

is there any way how can I get the current user windows DPI settings?
We're writting some mapping software and we need to know if the user
changes the DPI for scale calculations.

Or, in the .Net world, you could try this:

using (Graphics g = this.CreateGraphics()) {
MessageBox.Show("DpiX: " + g.DpiX.ToString() + ",
DpiY: " + g.DpiY.ToString());


Relevant Pages