修改以正确引入WinDevice项目
This commit is contained in:
1
WinDevice/.gitignore
vendored
Normal file
1
WinDevice/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/cmake-*
|
@@ -1,24 +1,23 @@
|
||||
cmake_minimum_required(VERSION 3.12)
|
||||
|
||||
project(WinDevice)
|
||||
project(WinDevice VERSION 0.1 LANGUAGES CXX)
|
||||
|
||||
# 添加主项目的源文件
|
||||
add_executable(WinDevice
|
||||
|
||||
)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
# 设置头文件目录,包括spdlog头文件和功能模块的头文件目录
|
||||
target_include_directories(WinDevice PRIVATE
|
||||
include/
|
||||
include/third_lib/
|
||||
src/Audio/
|
||||
src/Video/
|
||||
src/Utils/
|
||||
)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# 设置源代码文件编码为UTF-8
|
||||
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/source-charset:utf-8>")
|
||||
|
||||
# 添加sdplog目录
|
||||
include_directories(include/third_lib)
|
||||
|
||||
# 添加功能模块的源文件
|
||||
target_sources(WinDevice PRIVATE
|
||||
src/Audio/*.cpp
|
||||
src/Video/*.cpp
|
||||
src/Utils/*.cpp
|
||||
set(PROJECT_SOURCES
|
||||
"src/Audio"
|
||||
"src/Video"
|
||||
"src/Utils"
|
||||
)
|
||||
|
@@ -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=====");
|
||||
}
|
||||
|
Reference in New Issue
Block a user