C++ | 获取第二个屏幕坐标信息

简介: 多屏显示的时候需要用到获取第二个或者更多屏幕的方法。

1. 定义全局变量:CRect rect[2] = {(0,0,0,0),(0,0,0,0)}; //分别存放两个屏幕的坐标

2. 定义全局函数:

BOOL CALLBACK Monitorenumproc( HMONITOR hMonitor,HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData)
 {        
  static BOOL first = FALSE; //重复检测标志
  MONITORINFO monitorinfo; //显示器信息结构体
  monitorinfo.cbSize = sizeof(MONITORINFO);
  GetMonitorInfo(hMonitor, &monitorinfo); //获取显示器信息
  if(monitorinfo.dwFlags == MONITORINFOF_PRIMARY) //如果是主显示器
  {
    if(!first) //如果是第一次检测到主显示器
    {
        first = TRUE;
        rect[0] = monitorinfo.rcMonitor; //将主显示器的坐标信息存到第一个位置
        return TRUE;
    }else
    {
        first = FALSE;
        return FALSE;
    }
    }else//如果不是主显示器,将显示器的坐标信息存到第二个位置
    {
        rect[1] = monitorinfo.rcMonitor;
    }
    return TRUE;
}

3. 在主函数调用:EnumDisplayMonitors(NULL, NULL, Monitorenumproc, 0);  //枚举屏幕的系统函数

目录
相关文章
|
4月前
|
存储 编解码 监控
C++与OpenGL结合实现的屏幕监控软件:高性能屏幕录制解决方案
使用C++和OpenGL结合,本文展示了如何创建高性能屏幕录制软件。通过OpenGL的`glReadPixels`获取屏幕图像,存储为视频文件,再利用C++的网络编程(如libcurl)将监控数据提交到网站。示例代码包括了屏幕捕获和数据上传的简单实现。
230 2
|
4月前
|
存储 JSON 数据库
【C++ 软件设计思路】跨平台应用开发:如何选择合适的格式保存信息
【C++ 软件设计思路】跨平台应用开发:如何选择合适的格式保存信息
140 0
|
4月前
|
C++
C++学习系列---读取文件名存入txt和从txt读取每行信息
C++学习系列---读取文件名存入txt和从txt读取每行信息
|
4月前
|
Linux 编译器 程序员
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
451 0
|
4月前
|
API C++ 计算机视觉
【opencv3】鼠标框选矩形并显示当前像素点坐标和矩形中心点坐标C++
【opencv3】鼠标框选矩形并显示当前像素点坐标和矩形中心点坐标C++
|
10月前
|
存储 编解码 Cloud Native
C++ Qt关于多屏幕窗口处理
C++ Qt关于多屏幕窗口处理
|
11月前
|
监控 API C++
利用C++构建PC端监控软件:实时屏幕录制
在今天的数字化世界中,监控软件变得越来越重要。无论是家庭用户需要监控他们的孩子,还是企业需要监控员工的电脑活动,实时屏幕录制是一种有效的方法。本文将向您介绍如何使用C++构建PC端监控软件,实现实时屏幕录制功能。此外,我们还将讨论如何自动提交监控到的数据到一个网站上。
433 0
|
4月前
|
C++
C++程序中的类封装性与信息隐蔽
C++程序中的类封装性与信息隐蔽
34 1
|
14天前
|
C++
C++代码来计算一个点围绕另一个点旋转45度后的坐标
C++代码来计算一个点围绕另一个点旋转45度后的坐标
35 0
|
4月前
|
监控 API 数据安全/隐私保护
屏幕监控软件开发指南:C++实现原理解析
在当今数字化时代,屏幕监控软件成为了企业管理和个人隐私保护的重要工具。本文将深入探讨如何使用C++语言实现屏幕监控软件,并解析其实现原理。我们将通过多个代码示例来说明其工作方式,最后将介绍如何将监控到的数据自动提交到网站。
161 3