static INT_PTR WLoadWindows(MArray<WindowInfo>& wCurrent, int windowCount) { WindowInfo WInfo; wCurrent.clear(); // Load window list for (int i = 0; i < windowCount; i++) { ZeroStruct(WInfo); WInfo.StructSize = sizeof(WInfo); WInfo.Pos = i; if (!InfoW2800->AdvControl(&guid_ConEmu, ACTL_GETWINDOWINFO, 0, &WInfo)) continue; if (WInfo.Type != WTYPE_EDITOR && WInfo.Type != WTYPE_VIEWER && WInfo.Type != WTYPE_PANELS) continue; if (WInfo.Type == WTYPE_PANELS) { if ((wCurrent.size() > 0) && (wCurrent[0].Type == WTYPE_PANELS)) wCurrent[0] = WInfo; else wCurrent.insert(0, WInfo); } else { wCurrent.push_back(WInfo); } } return wCurrent.size(); }