Class Dpi
Functions for high-DPI screen support.
public static class Dpi
Remarks
To find DPI % on Windows 10 and 11: Settings > System > Display > Scale and layout. If not 100%, it means high DPI.
This program must be per-monitor-DPI-aware. Else results are undefined.
Namespace: Au.More
Assembly: Au.dll
Properties
Name | Description |
---|---|
System | Gets DPI of the primary screen at the time this process started. |
Methods
Name | Description |
---|---|
AdjustWindowRectEx(DpiOf, ref RECT, WS, WSE, bool) | Calls API AdjustWindowRectExForDpi if available, else AdjustWindowRectEx. |
GetSystemMetrics(int, DpiOf) | Calls API GetSystemMetricsForDpi if available, else GetSystemMetrics. |
IsWindowVirtualized(wnd) | Detects whether the window is DPI-scaled/virtualized. |
OfScreen(nint, bool) | Gets DPI of a screen. |
OfWindow(wnd, bool) | Gets the DPI of a window, as used in the window's process. It never changes for that window instance. |
OfWindow(DependencyObject) | Returns |
OfWindow(Control) | Returns |
Scale(RECT, DpiOf) | Scales RECT if the specified DPI isn't 96 (100%). |
Scale(SIZE, DpiOf) | Scales SIZE if the specified DPI isn't 96 (100%). |
Scale(int, DpiOf) | Scales int if the specified DPI isn't 96 (100%). |
Scale(Size, DpiOf) | Scales System.Windows.Size if the specified DPI isn't 96 (100%). |
SystemParametersInfo(uint, int, void*, DpiOf) | Calls API SystemParametersInfoForDpi if available, else SystemParametersInfo. Use only with uiAction = SPI_GETICONTITLELOGFONT, SPI_GETICONMETRICS, SPI_GETNONCLIENTMETRICS. |
Unscale(RECT, DpiOf) | Unscales RECT if the specified DPI isn't 96 (100%). |
Unscale(SIZE, DpiOf) | Unscales SIZE if the specified DPI isn't 96 (100%). |
Unscale(int, DpiOf) | Unscales int if the specified DPI isn't 96 (100%). |
WindowDpiAwareness(wnd) | Gets DPI awareness of a window. |