Zhiyi Zhang (@zhiyi) commented about dlls/win32u/sysparams.c:
- /* enumerate primary monitors first */ LIST_FOR_EACH_ENTRY(monitor, &monitors, struct monitor, entry) {
RECT monrect;
if (!is_monitor_active( monitor )) continue;
monrect = map_dpi_rect( monitor->rc_monitor, get_monitor_dpi( monitor->handle ),
get_thread_dpi() );
OffsetRect( &monrect, -origin.x, -origin.y );
if (!intersect_rect( &monrect, &monrect, &limit )) continue;
if (monitor->is_clone) continue;
if (!is_monitor_primary( monitor )) continue;
if (should_enumerate_monitor( monitor, &origin, &limit, &enum_info[count].rect ))
enum_info[count++].handle = monitor->handle;
You can break after you find the primary monitor as there is only one primary.