要获取扩展屏幕的像素大小和位置,可以使用 Windows API 中的 EnumDisplayMonitors 函数来枚举所有的显示器,然后使用 GetMonitorInfo 函数来获取每个显示器的信息。

下面是一个示例代码:

#include <iostream>
#include <Windows.h>

BOOL CALLBACK MonitorEnumProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData)
{
    MONITORINFOEX monitorInfo;
    monitorInfo.cbSize = sizeof(MONITORINFOEX);
    GetMonitorInfo(hMonitor, &monitorInfo);

    // 输出显示器的位置和分辨率
    std::cout << 'Monitor ' << dwData << ':' << std::endl;
    std::cout << '    Position: (' << monitorInfo.rcMonitor.left << ', ' << monitorInfo.rcMonitor.top << ')' << std::endl;
    std::cout << '    Resolution: ' << monitorInfo.rcMonitor.right - monitorInfo.rcMonitor.left << 'x' << monitorInfo.rcMonitor.bottom - monitorInfo.rcMonitor.top << std::endl;

    return TRUE;
}

int main()
{
    // 枚举所有显示器
    EnumDisplayMonitors(NULL, NULL, MonitorEnumProc, 0);

    return 0;
}

该代码将输出每个显示器的位置和分辨率。其中,monitorInfo.rcMonitor 表示显示器的矩形区域,lefttop 表示显示器的左上角坐标,rightbottom 表示显示器的右下角坐标。

C++ 获取 Windows 扩展屏幕尺寸和位置

原文地址: http://www.cveoy.top/t/topic/pb6M 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录