@@ -153,16 +153,17 @@ mpl_SetProcessDpiAwareness_max(PyObject* module)
153153 SetProcessDpiAwarenessContext_t SetProcessDpiAwarenessContextPtr =
154154 (SetProcessDpiAwarenessContext_t )GetProcAddress (
155155 user32 , "SetProcessDpiAwarenessContext" );
156- if (IsValidDpiAwarenessContextPtr != NULL && SetProcessDpiAwarenessContextPtr != NULL ) {
157- if (IsValidDpiAwarenessContextPtr (DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 )) {
158- // Added in Creators Update of Windows 10.
159- SetProcessDpiAwarenessContextPtr (DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 );
160- } else if (IsValidDpiAwarenessContextPtr (DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE )) {
161- // Added in Windows 10.
162- SetProcessDpiAwarenessContextPtr (DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE );
163- } else if (IsValidDpiAwarenessContextPtr (DPI_AWARENESS_CONTEXT_SYSTEM_AWARE )) {
164- // Added in Windows 10.
165- SetProcessDpiAwarenessContextPtr (DPI_AWARENESS_CONTEXT_SYSTEM_AWARE );
156+ DPI_AWARENESS_CONTEXT ctxs [3 ] = {
157+ DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 , // Win10 Creators Update
158+ DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE , // Win10
159+ DPI_AWARENESS_CONTEXT_SYSTEM_AWARE }; // Win10
160+ if (IsValidDpiAwarenessContextPtr != NULL
161+ && SetProcessDpiAwarenessContextPtr != NULL ) {
162+ for (int i = 0 ; i < sizeof (ctxs ) / sizeof (DPI_AWARENESS_CONTEXT ); ++ i ) {
163+ if (IsValidDpiAwarenessContextPtr (ctxs [i ])) {
164+ SetProcessDpiAwarenessContextPtr (ctxs [i ]);
165+ break ;
166+ }
166167 }
167168 } else {
168169 // Added in Windows Vista.
0 commit comments