/
githubmirror
/
PowerToys
Обзор
Документация
Войти
/
githubmirror
/
PowerToys
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/modules/Workspaces/workspaces-common/MonitorEnumerator.h
35 строк
779 B
Seraphima Zykova
[New Module] Workspaces (#34324)
23 авг 2024, 10:28
Не верифицирован
23 авг 2024, 10:28
5796199
Код
Авторство
О чём код?
#pragma once #include <functional> #include <vector> #include <Windows.h> class MonitorEnumerator { public: static std::vector<std::pair<HMONITOR, MONITORINFOEX>> Enumerate() { MonitorEnumerator inst; EnumDisplayMonitors(NULL, NULL, Callback, reinterpret_cast<LPARAM>(&inst)); return inst.m_monitors; } private: MonitorEnumerator() = default; ~MonitorEnumerator() = default; static BOOL CALLBACK Callback(HMONITOR monitor, HDC /*hdc*/, LPRECT /*pRect*/, LPARAM param) { MonitorEnumerator* inst = reinterpret_cast<MonitorEnumerator*>(param); MONITORINFOEX mi; mi.cbSize = sizeof(mi); if (GetMonitorInfo(monitor, &mi)) { inst->m_monitors.push_back({monitor, mi}); } return TRUE; } std::vector<std::pair<HMONITOR, MONITORINFOEX>> m_monitors; };