From bbdf0592c1c1cd021d96314bdefd386cfdcf4fb0 Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Wed, 16 Oct 2019 21:34:59 +0100 Subject: [PATCH] check for shcore rather than exception. --- src/Windows/Avalonia.Win32/ScreenImpl.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Windows/Avalonia.Win32/ScreenImpl.cs b/src/Windows/Avalonia.Win32/ScreenImpl.cs index 6a89c9bf24..fda3b77727 100644 --- a/src/Windows/Avalonia.Win32/ScreenImpl.cs +++ b/src/Windows/Avalonia.Win32/ScreenImpl.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using Avalonia.Platform; +using Avalonia.Win32.Interop; using static Avalonia.Win32.Interop.UnmanagedMethods; namespace Avalonia.Win32 @@ -31,12 +32,13 @@ namespace Avalonia.Win32 if (GetMonitorInfo(monitor, ref monitorInfo)) { var dpi = 1.0; - try - { + + if (UnmanagedMethods.ShCoreAvailable) + { GetDpiForMonitor(monitor, MONITOR_DPI_TYPE.MDT_EFFECTIVE_DPI, out var x, out _); dpi = (double)x; } - catch (DllNotFoundException) + else { var hdc = GetDC(IntPtr.Zero);