Ejemplo n.º 1
0
        /// <summary>
        ///  Tries to set thread dpi awareness context
        /// </summary>
        /// <returns> returns old thread dpi awareness context if API is available in this version of OS. otherwise, return IntPtr.Zero.</returns>
        public static DpiAwarenessContext TrySetThreadDpiAwarenessContext(DpiAwarenessContext dpiContext)
        {
            if (OsVersion.IsWindows10_1607OrGreater)
            {
                if (dpiContext == DpiAwarenessContext.DPI_AWARENESS_CONTEXT_UNSPECIFIED)
                {
                    throw new ArgumentException(nameof(dpiContext), dpiContext.ToString());
                }

                return(SetThreadDpiAwarenessContext(dpiContext));
            }

            // legacy OS that does not have this API available.
            return(DpiAwarenessContext.DPI_AWARENESS_CONTEXT_UNSPECIFIED);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Tries to set thread dpi awareness context
 /// </summary>
 /// <returns> returns old thread dpi awareness context if API is available in this version of OS. otherwise, return IntPtr.Zero.</returns>
 public static DpiAwarenessContext TrySetThreadDpiAwarenessContext(DpiAwarenessContext dpiContext)
 {
     if (ApiHelper.IsApiAvailable(ExternDll.User32, nameof(CommonUnsafeNativeMethods.SetThreadDpiAwarenessContext)))
     {
         if (dpiContext == DpiAwarenessContext.DPI_AWARENESS_CONTEXT_UNSPECIFIED)
         {
             throw new ArgumentException(nameof(dpiContext), dpiContext.ToString());
         }
         return(SetThreadDpiAwarenessContext(dpiContext));
     }
     else
     {
         // legacy OS that does not have this API available.
         return(DpiAwarenessContext.DPI_AWARENESS_CONTEXT_UNSPECIFIED);
     }
 }