【C++】获取指定点所在屏幕的尺寸
问题
多个显示器时,获取指定点所在的显示器的尺寸。
分析
- 之前整理过获取屏幕尺寸的方法:https://blog.csdn.net/m0_43605481/article/details/125024500
- 多显示器时,需要用到GetSystemMetrics、EnumDisplayDevices、EnumDisplaySettings函数
解决
#include "WinUser.h"void GetRectByPoint(CPoint point, CRect& rectRes)
{//获取显示屏幕个数int nCount = GetSystemMetrics(SM_CMONITORS);if (nCount < 0)return;DISPLAY_DEVICE device;SecureZeroMemory(&device, sizeof(device));device.cb = sizeof(device);DEVMODE devMode;SecureZeroMemory(&devMode, sizeof(devMode));devMode.dmSize = sizeof(devMode);// 获取所有显示屏幕的位置std::vector<CRect> vScreenRet;for (int nIndex = 0; nIndex < nCount; ++nIndex){if (!EnumDisplayDevices(NULL, nIndex, &device, 0)|| !EnumDisplaySettings(device.DeviceName, ENUM_CURRENT_SETTINGS, &devMode))continue;CRect rc(devMode.dmPosition.x, devMode.dmPosition.y, devMode.dmPosition.x + devMode.dmPelsWidth, devMode.dmPosition.y + devMode.dmPelsHeight);vScreenRet.push_back(rc);}// 匹配指定点所在显示器for (const CRect& rc : vScreenRet){if (!::PtInRect(rc, point))continue;resRt = rc;break;}
}int main()
{// 给定点坐标CPoint point;// 获取显示器尺寸CRect rect;GetRectByPoint(point, rect);// 输出获取到的数据cout<<"rect width: " << rect.right-rect.left << endl; cout<<"rect height: " << rect.bottom-rect.top << endl; return 0;
}
OK!搞定!
相关文章:
【C++】获取指定点所在屏幕的尺寸
问题 多个显示器时,获取指定点所在的显示器的尺寸。 分析 之前整理过获取屏幕尺寸的方法:https://blog.csdn.net/m0_43605481/article/details/125024500多显示器时,需要用到GetSystemMetrics、EnumDisplayDevices、EnumDisplaySettings函…...
软文发布如何选择对应的媒体
企业做软文推广第一步,就是选择合适的媒体进行投放,然而许多企业不知道如何选择合适的媒体导致推广工作十分被动,无法取得效果,今天媒介盒子就来和大家分享,企业应该如何选择对应的媒体。 一、 媒体类型 根据软文类型…...
Django如何创建表关系,Django的请求声明周期流程图
【1】表与表之间的关系 一对一 左表的一条记录对应右表的一条记录,反之亦然 多对一 左表的一条记录对应右表的多条记录,反之不成立 多对多 左表的一条记录对应右表的多表记录,反之成立 【2】django中创建表关系 class Book(models.Model):t…...
微服务-我对Spring Clound的理解
官网:https://spring.io/projects/spring-cloud 官方说法:Spring Cloud 为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理、服务发现、熔断器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话…...
安防监控EasyCVR视频汇聚平台无法接入Ehome5.0是什么原因?该如何解决?
视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。安防平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存储、回放…...
机器学习——逻辑回归
目录 一、分类问题 监督学习的最主要类型 二分类 多分类 二、Sigmoid函数 三、逻辑回归求解 代价函数推导过程(极大似然估计): 交叉熵损失函数 逻辑回归的代价函数 代价函数最小化——梯度下降: 编辑 正则化 四、逻辑…...
自动驾驶学习笔记(七)——感知融合
#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo Beta宣讲和线下沙龙》免费报名—>传送门 文章目录 前言 感知融合 卡尔曼滤波 融合策略 实…...
【Java0基础学Java第八颗】 -- 继承与多态 -- 多态
8.继承与多态 8.2 多态8.2.1 多态的概念8.2.2 多态实现条件8.2.3 重写8.2.4 向上转型和向下转型8.2.5 向下转型8.2.6 多态的优缺点8.2.7 避免在构造方法中调用重写的方法 8.2 多态 8.2.1 多态的概念 通俗来说就是多种形态,具体点就是去完成某个行为,当…...
玩转ansible之参数调试和文件操作篇
更多IT技术文章,欢迎关注微信公众号“运维之美” 玩转ansible之参数调试和文件操作篇 01 剧本调试和帮助02 使用场景举例 上节我们学习了使用ansible进行软件安装,那么安装完软件后,就需要linux系统和软件配置修改了,对于linux主机…...
JVM虚拟机:垃圾回收器之Parallel Old(老年代)
本文重点 本文将学习老年代的另外一种垃圾回收器Parallel Old(PO),这是一种用于老年代的并行化垃圾回收器,它使用标记整理算法进行垃圾回收。 历史 在1.6之前,新生代使用Parallel Scavenge只能搭配老年代的Serial Old收集器,而…...
Stream流的groupingBy
Stream流的groupingBy 简单使用 业务场景:现在有100个人,这些人都年龄分部在18-30岁之间。现要求把他们按照年龄进行分组 key:年龄 value:数据列表 public void listToMapGroup() {//这里假设通过listStreamService.list();方法…...
如何在不结束tcpdump的情况下复制完整的pcap
tcpdump正在运行的时候,他写入的pcap可能是不完整的,通常我们要结束掉tcpdump才能拿到完整的pcap,否则wireshark打开的时候会提示:The capture file appears to have been cut short in the middle of a packet。这可能是因为tcpd…...
maven POM文件总体配置说明
<project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd "> <!-- 父项目的坐…...
49.批处理命令(1/2)
目录 一批处理。 (1)批处理定义。 (2)常见命令。 (2.1)rem和:: (2.2)echo和。 (2.3)pause。 (2.4)errorlevel。 (…...
react类式组件的生命周期和useEffect实现函数组件生命周期
概念 生命周期是一个组件丛创建,渲染,更新,卸载的过程,无论是vue还是react都具有这个设计概念,也是开发者必须熟练运用的,特别是业务开发,不同的生命周期做不同的事是很重要的. ....多说两句心得,本人是先接触vue的,无论是vue2还是vue3的生命周期,在理解和学习上都会比react更…...
ARM 基础学习记录 / 异常与GIC介绍
GIC概念 念课本(以下内容都是针对"通用中断控制器(GIC)"而言,直接摘录的,有的地方可能不符人类的理解方式): 通用中断控制器(GIC)架构提供了严格的规范&…...
java压缩pdf体积,图片体积
pdf整体进行压缩,图片进行压缩 // 生成主证书的PDF路径 创建一个文件String pdfPath UploadDown.createFile(".pdf");outputStream new FileOutputStream(pdfPath);bufferedOutputStream new BufferedOutputStream(outputStream);writer PdfWriter.getInstance(…...
Ubuntu(WSL2) 安装最新版本的 GCC
要在 Ubuntu 上安装最新版本的 GCC,可以通过以下步骤进行操作: 1. 打开终端(Terminal) 2. 更新软件包列表,确保系统使用最新的软件包信息,运行以下命令: sudo apt update 3. 安装 GCC 软件包…...
lua 时间差功能概略
简介 在进行程序设计过程中,经常需要对某些函数、某些程序片断从开始运行到运行结束所耗费的时间进行一些量化。这种量化实际上就是计算时间差。 获取函数耗时情景如下: function time_used() --开始计时-- do something at here. --结束计时--时间差&…...
【C++11】左值引用,右值引用,移动/复制构造,完美转发
左值与右值 字面意思是可以放在等号左边的就是左值,只能放在等号右边的就是右值(为何是“可以”“只能”?例如i是左值,但他依然可以放在等号右边)。 严格上的定义:可以取地址的就是左值,反之为…...
【5G/4G】Snow 3G算法源码解析:从S盒到密钥流生成
1. Snow 3G算法概述 Snow 3G是3GPP组织为4G LTE和5G网络设计的流密码算法,主要用于无线通信中的数据加密和完整性保护。这个算法在2006年被正式采纳为UMTS和LTE的安全标准之一,与AES和ZUC算法一起构成了移动通信安全的核心防线。 我第一次接触Snow 3G是在…...
Golang怎么获取当前工作目录_Golang如何用os.Getwd获取程序运行路径【基础】
os.Getwd() 返回进程启动时的工作目录,而非可执行文件所在目录;获取程序自身路径应使用 os.Executable() filepath.Dir(),并用 filepath.Join 拼接路径以确保跨平台兼容性。os.Getwd 返回的是进程启动时的工作目录,不是可执行文件…...
12:机台I/O点位表详解(EAP核心必备)
12:机台I/O点位表详解(EAP核心必备) 一、本课学习目标 理解什么是机台I/O点位表,以及它在EAP工作中的核心地位学会看懂I/O表的每一列:地址、名称、信号类型、方向、备注熟练区分DI/DO/AI/AO在I/O表中的表示方式掌握通过…...
三步高效获取国家中小学智慧教育平台电子课本:智能解析工具完整指南
三步高效获取国家中小学智慧教育平台电子课本:智能解析工具完整指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容…...
iOS开发工程师核心技术解析与面试指南
一、iOS开发核心技术体系 1.1 语言基础与开发框架 Objective-C与Swift作为iOS生态的双核心语言,开发者需掌握其核心特性: 内存管理机制:ARC自动引用计数原理 运行时特性:Runtime消息转发机制 多线程编程:GCD与OperationQueue对比 典型内存管理场景: class DataProcess…...
WinUtil:你的Windows系统一站式管家,轻松管理软件与优化设置
WinUtil:你的Windows系统一站式管家,轻松管理软件与优化设置 【免费下载链接】winutil Chris Titus Techs Windows Utility - Install Programs, Tweaks, Fixes, and Updates 项目地址: https://gitcode.com/GitHub_Trending/wi/winutil 你是否曾…...
通过终端指令融合多磁盘并重装macOS:从分区混乱到系统焕新
1. 为什么需要融合磁盘并重装macOS 很多Mac用户在使用几年后都会遇到一个头疼的问题:磁盘空间越来越紧张,系统运行速度明显变慢。这种情况往往是由于历史分区造成的。比如当初为了装双系统,把硬盘分成了几个区;或者升级硬盘时&am…...
【HALCON 实战入门】2. HALCON 快速入门
欢迎订阅【HALCON 实战入门】专栏: 1. HALCON 简介与安装 2. HALCON 快速入门 3. 图像读取、显示与保存 4. 图像采集 5. 交互式与 ROI 2. HALCON 快速入门第 1 章:安装 HALCON第 2 章:HALCON 架构2.1 算子2.1.1 参数与数据结构2.2 扩展包2.3 …...
告别重复点击:FGO-py如何用智能自动化解放你的双手
告别重复点击:FGO-py如何用智能自动化解放你的双手 【免费下载链接】FGO-py 自动爬塔! 自动每周任务! 全自动免配置跨平台的Fate/Grand Order助手.启动脚本,上床睡觉,养肝护发,满加成圣诞了解一下? 项目地址: https://gitcode.com/GitHub_Trending/fg/FGO-py …...
【技术解密】4向文字方向检测:ChineseOCR自动校正系统的核心技术架构与实践指南
【技术解密】4向文字方向检测:ChineseOCR自动校正系统的核心技术架构与实践指南 【免费下载链接】chineseocr yolo3ocr 项目地址: https://gitcode.com/gh_mirrors/ch/chineseocr 在OCR文字识别领域,文字方向检测是一个常被忽视但至关重要的技术环…...
