修改以正确引入WinDevice项目

This commit is contained in:
2023-10-10 11:54:29 +08:00
parent de8a41fff1
commit 50298ad6e8
6 changed files with 44 additions and 28 deletions

View File

@@ -46,33 +46,33 @@ BOOL ScreenManager::_EnumMonitorProc(HMONITOR hMonitor)
monitorInfo.cbSize = sizeof(MONITORINFOEX);
if (GetMonitorInfo(hMonitor, &monitorInfo))
{
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 输出友好名称
spdlog::info("_UpdateMonitorInfoMap, szDevice:{0}, right:{1}, bottom:{2}", Wchar2String(monitorInfo.szDevice),
monitorInfo.rcMonitor.right, monitorInfo.rcMonitor.bottom);
}
auto it = ScreenManager::_hMonitorInfoMap.find(hMonitor);
if (it != ScreenManager::_hMonitorInfoMap.end())
{
// <EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 键已经存在,表示存在重复
// 在这里处理重复的情况
}
else
{
ScreenManager::_hMonitorInfoMap.insert(std::make_pair(hMonitor, monitorInfo));
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD>ʾû<EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 键不存在,表示没有重复
// 在这里处理非重复的情况
}
DISPLAYCONFIG_TARGET_DEVICE_NAME targetDeviceName = {};
targetDeviceName.header.size = sizeof(targetDeviceName);
// <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD> HMONITOR <EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
// 获取指定 HMONITOR 的目标设备名称信息
if (DisplayConfigGetDeviceInfo(&targetDeviceName.header) == ERROR_SUCCESS)
{
spdlog::info("_UpdateMonitorInfoMap, monitorDevicePath:{0}, monitorFriendlyDeviceName:{1}",
Wchar2String(targetDeviceName.monitorDevicePath), Wchar2String(targetDeviceName.monitorFriendlyDeviceName));
// <EFBFBD><EFBFBD>ȡָ<EFBFBD><EFBFBD> HMONITOR <EFBFBD>ķֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
// 获取指定 HMONITOR 的分辨率信息
DEVMODE dm;
dm.dmSize = sizeof(DEVMODE);
dm.dmDriverExtra = 0;
@@ -101,7 +101,7 @@ BOOL CALLBACK ScreenManager::EnumMonitorsProc(HMONITOR hMonitor, HDC hdcMonitor,
void ScreenManager::_UpdateMonitorInfoMap()
{
spdlog::info("=====GetInfoByEnumDisplayMonitors start=====");
// ö<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>
// 枚举显示器
EnumDisplayMonitors(nullptr, nullptr, EnumMonitorsProc, reinterpret_cast<LPARAM>(this));
spdlog::info("=====GetInfoByEnumDisplayMonitors end=====");
}