@@ -153,16 +153,17 @@ mpl_SetProcessDpiAwareness_max(PyObject* module)
153
153
SetProcessDpiAwarenessContext_t SetProcessDpiAwarenessContextPtr =
154
154
(SetProcessDpiAwarenessContext_t )GetProcAddress (
155
155
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
+ }
166
167
}
167
168
} else {
168
169
// Added in Windows Vista.
0 commit comments