c语言显示器编程,VC实现Windows多显示器编程的方法

2023-11-06

本文实例讲述了VC实现Windows多显示器编程的方法。分享给大家供大家参考。具体如下:

一、Windows中接入多个显示器时,可设置为复制和扩展屏。

1、设置为复制屏幕时,多个显示器的分辨率是一样的,位置为0~分辨率值

2、设置为扩展屏幕时,显示器之间的关系比较复杂些。首先Windows系统会识别一个主显示器,这个可以在屏幕分辨率中更改。多个显示器之间的位置关系也可以再屏幕分辨率中更改。其中主显示器的位置为(0,0)到(width,height),其他显示器位置由与主显示器的位置关系决定,在主显示器左上,则为负数,用0减去长宽;在右下,则由主显示器的分辨率加上长宽。其中驱动或用mouse_event处理时也是一样,主显示器为0~65535,其他显示器根据主显示器的相对位置确定。

二、相关程序和API如下:

1、获取当前显示器的分辨率

m_iCurScrWidth = ::GetSystemMetrics(SM_CXSCREEN);

m_iCurScrHeight = ::GetSystemMetrics(SM_CYSCREEN);

2、移动窗口位置

MoveWindow(0, 0, m_iCurScrWidth, m_iCurScrHeight);

//移动窗口

ModifyStyle(WS_CAPTION,0,0);

//取消标题栏

3、获取显示器数量

GetSystemMetrics(SM_CMONITORS);

4、获取显示器的相对位置于分辨率

void GetScreenRect(int ScreenNo)

{

BOOL flag;

DISPLAY_DEVICE dd;

ZeroMemory(&dd, sizeof(dd));

dd.cb = sizeof(dd);

flag = EnumDisplayDevices(NULL, ScreenNo, &dd, 0);

if (!flag) return;

DEVMODE dm;

ZeroMemory(&dm, sizeof(dm));

dm.dmSize = sizeof(dm);

flag = EnumDisplaySettings(dd.DeviceName,ENUM_CURRENT_SETTINGS, &dm);

m_ScrRect[ScreenNo].left = dm.dmPosition.x;

m_ScrRect[ScreenNo].top = dm.dmPosition.y;

m_ScrRect[ScreenNo].right = dm.dmPelsWidth;

m_ScrRect[ScreenNo].bottom = dm.dmPelsHeight;

}

希望本文所述对大家的VC程序设计有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c语言显示器编程,VC实现Windows多显示器编程的方法 的相关文章

  • MyBatis 学习笔记:Java 中的数据持久化框架

    MyBatis 学习笔记 Java 中的数据持久化框架 数据持久化是大多数应用程序的关键需求之一 在 Java 开发中 MyBatis 是一个流行的数据持久化框架 它提供了一种简单而强大的方式来管理数据库访问 本文将介绍 MyBatis 的
  • 出门旅行懂链改这些问题都好解决

    每到旅游热潮结束后 各大平台都会纷纷晒出出游 成绩单 国内很多人都是 报复式出游 各大景区都是人山人海 有些人旅游是为了修身养性 放松身心 有些人是为了观赏大自然风光 享受一场视觉盛宴 有些人是为了探索未知事物 追求一种差异化 个性化的旅游
  • 环形队列设计思路

    环形队列设计思路 一 数据结构 数据存储在一段连续的内存空间 通过写位置 读位置来控制数据的输入输出 二 数据操作 1 判断空逻辑 写位置 读位置 2 判断满逻辑 写位置 1 MAX SIZE 读位置 3 写数据逻辑 判断数据不满 在当前写
  • GPG error: http://debian.cn99.com testing Release: Unknown error executing gpgv

    mail apt get updateGet 1 http debian cn99 com testing Release gpg 189B Hit http debian cn99 com testing ReleaseErr http
  • Servlet上传文件

    一 核心方法 1 HttpServletRequest类相关方法 方法 描述 Part getPart String name 获取请求中给定name的文件 Collection
  • java爬虫,提供链接直接爬取网页代码

    其实我只想要爬到整个网页的源代码的就好 通过java的一个包jsoup 就可以直接爬取了 后面有下载源代码 含jsoup包 的链接 输入 网页链接 输出 网页源代码 代码比较简单 解析都在代码中 import org jsoup Jsoup
  • python中lower函数是什么意思_python中lower函数实现方法及用法讲解

    之前小编介绍过python中将字符串小写字符转为大写的upper函数的使用方法 upper函数 有将小写转为大写的需要 那也有将大写转为小写的情况 本文主要介绍在python中可以将字符串大写自摸转换为小写字母的lower函数 1 lowe
  • CreateThread()和_beginthread()有什么不同?

    CreateThread 和 beginthread 有什么不同 我们知道在Windows下创建一个线程的方法有两种 一种就是调用Windows API CreateThread 来创建线程 另外一种就是调用MSVC CRT的函数 begi
  • Chart控件的用法和部署

    最近 导师让我做统计图 因为以前没有接触过 所以动起手来 难免会遇到很多的问题 经过一段时间的搜集资料和亲手操作 终于实现了我需要的功能 为了方便大家以后会更好的使用Chart控件和节省大家的时间 因此和大家分享一下我做的过程 首先 需要安
  • 时序数据的内存服务

    说明 既要坚定锻炼成熟架构的道路 也要在合理的范围内重塑设计 计算时序数据的特征 少不了 Rolling 类的操作 过去 直接采用pandas进行rolling 效率很不错 但是在实战应用时不太行 反思下来 离线的操作拓展困难 很多都是一次
  • set常用方法及遍历方式

    set常用方法 Set 接口继承 Collection 接口 而且它不允许集合中存在重复项 所有原始方法都是现成的 没有引入新方法 具体的 Set 实现类依赖添加的对象的 equals 方法来检查等同性 public int size 返回
  • Qt之QGraphicsView进阶篇

    前言 上一章节介绍了 QGraphicsView 中的基础内容 具体请参考 Qt之QGraphicsView入门篇 这一章节我们来具体了解一下 GraphicsView 框架中有哪些特性 缩放与旋转 QGraphicsView 通过 QGr
  • 查看windows mstsc远程登陆日志(client ip)

    最近有个需求 要看一下windows MSTSC的登陆日志 测试环境 win10 参考 https social technet microsoft com Forums windows en US efabde54 be5e 4be2 b
  • [C6064]警告以及解决方法

    对于函数scanf s 当出现C6064这个警告的时候 预示着缺少一个整形参量 该参量的功能是表明输入字符的长度 可以使用sizeof strlen 等函数 例子如下 scanf s s book title sizeof book tit
  • 【Matlab智能算法】极限学习机-遗传算法(ELM-GA)函数极值寻优——非线性函数求极值

    往期博客 Matlab BP神经网络遗传算法 BP GA 函数极值寻优 非线性函数求极值 Matlab GRNN神经网络遗传算法 GRNN GA 函数极值寻优 非线性函数求极值 Matlab RBF神经网络遗传算法 RBF GA 函数极值寻
  • elementUI表格编辑状态下,如何获取修改过的行

    表格再编辑状态 需要获取到哪一行数据被修改了 面对这样一个场景 我们可以结合element的row click事件以及动态的监听 watch来实现 tableList 代表表格的数据 rowIds代表需要记录的id数组的集合 isUpdat
  • 外设驱动库开发笔记22:ADXL345三轴数字加速度计驱动

    移动设备的广泛应用增加对移动过程中各种参数的检测需求 ADXL345三轴数字加速度计可以用来检测加速度 进而测量倾斜角度等 在这一篇中 我们将讨论ADXL345三轴数字加速度计驱动程序的设计与实现 1 功能概述 ADXL345是一款小而薄的
  • EPSANet学习笔记

    EPSANet学习笔记 EPSANet An Efficient Pyramid Squeeze Attention Block on Convolutional Neural Network Abstract 最近 研究表明 在深度卷积神
  • 常用的前端排序

    冒泡排序 前一个与后一个作比较 如果前一个大于后一个 两者交换位置 对每一对相邻元素做第一步的操作 针对所有的元素重复以上的步骤 除了最后一个 let arr 1 3 4 5 8 6 4 1 3 2 for var i 0 i

随机推荐

  • 等保2.0四级安全要求

    第四级安全保护能力 应能够在统一安全策略下防护免受来自国家级别的 敌对组织的 拥有丰富资源的威胁源发起的恶意攻击 严重的自然灾害 以及其他相当危害程度的威胁所造成的资源损害 能够及时发现 监测发现攻击行为和安全事件 在自身遭到损害后 能够迅
  • 模板元编程-模板特例化

    在模板元编程里面 有一种情况是模板特例化 就是你定义了一个模板类 并且专门为它写了一些特例 如下 定义了一个模板类Vec template
  • Python 实战:用 Scrapyd 打造个人化的爬虫部署管理控制台

    小册介绍 Scrapyd 是业内最优秀的爬虫框架之一 Scrapy 官方出品的部署管理平台 有了它 你就可以通过 API 向指定的爬虫发起指令 并且可以通过 Web 页面来查看爬虫的运行记录与状态等信息 将爬虫部署到服务器是大部分爬虫工程师
  • Lua反编译

    前言 这个知识点的突破还是来自于一道解密题 题干只有一个bin文件 然后就要输入答案 用记事本打开 发现是一串乱码 但是仔细一瞧就能捕捉到LuaR print fact这几个关键词 在浏览器上探索了许久23333 然后就能锁定它应该是个Lu
  • Python计算机视觉第七章 图像搜索

    文章目录 7 1基于内容的图像检索 从文本挖掘中获取灵感 矢量空间模型 7 2视觉单词 创建词汇 7 3图像索引 7 3 1建立数据库 7 3 2添加图像 7 4在数据库中搜索图像 7 4 1利用索引获取候选图像 7 4 2用一幅图像进行查
  • 如何在styles.xml中使用控件自定义属性

    开发过程中 对于通用控件的属性我们习惯在styles xml中抽取出来 然后在用到的地方通过 style style Your Style 引入 可以简化代码 在Material Design风格的app里面大量使用到CarView 但是C
  • VS中新建Qt项目工程后显示无法打开源文件“QtWidgets/QApplication”的解决方案

    1 环境 VS2015 Qt 5 6 2 现象描述 在vs中新建工程后一般都会显示无法打开源文件 QtWidgets QApplication 就像这样 3 原因 新建Qt项目时VC 包含目录没有自动包含Qt所需要的头文件路径 需要手动添加
  • VSCode一些小问题及解决方式

    01 插件安装目录改换 使用Installer安装VSCode 插件的默认安装目录为 C User
  • win10 安装SVN时提示2503的错误代码

    最近给别人装了一个win10 装完之后装sql 装vs 在装svn客户端时出现了以下错误 在网上找了好久 都说是权限不足 然后 就试了个中给权限的方法 1 在svn 安装包上 右键属性 设置完全控制 没解决 2 通过win R 命令提示符
  • 7、Mac iTerm2 + Zsh 打造舒适终端

    iTerm2 Zsh 打造舒适终端 最终效果图 一 准备工作 git xcode 本文默认各位同学已经安装了git环境和xcode command line tools 遇到提示找不到git命令或需要安装command line tool的
  • Java拷贝之深拷贝与浅拷贝

    Java中的拷贝分为引用拷贝和对象拷贝 1 引用拷贝 浅拷贝 引用拷贝 只会生成一个新的对象引用地址 但两个对峙最终指向的还是同一个对象 代码示例 定义的测试对象 Data public class User private String
  • 程序—java年月日转换

    年月日格式转换练习 目标 输入n组 0 lt n lt 100 8位或6位数字 将8位数转换为xxxx xx xx的格式 将6位数转换为xxxx xx的格式 举例 输入 19970102 199701 输出 1997 01 02 1997
  • 2023JavaWeb面试问答

    说一说Servlet的生命周期 Servlet有良好的生存期的定义 包括加载和实例化 初始化 处理请求以及服务结束 这个生存期由javax servlet Servlet接口的init service 和destroy方法表达 Servle
  • [综述] Generative AI meets 3D: A Survey on Text-to-3D in AIGC Era

    论文 改文章是23年5月27日挂在arxiv上 本文重点关注4 1节Text Guided 3D Avatar Generation 4 4节Text Guided 3D Shape Transformation和第5章Discussion
  • 第十一届泰迪杯B题全部问题部分代码

    数据预处理 导入需要的包 import pandas as pd import numpy as np df train pd read csv 数据 order train1 csv encoding utf 8 df train df
  • 安装MySQL数据库

    登录游戏需要账号和密码 进入游戏还会创建角色 服务器需要把这些账号和角色信息保存到硬盘里 这便会涉及到数据库 MySQL是游戏开发中最常用的数据库之一 它是当前最流行的关系型数据库管理系统 MySQL是一个关系型数据库管理系统 最早由瑞典M
  • 产品设计的步骤有哪些?

    饭要一口一口吃 一口吃不成个大胖子 事情应该一个接一个地做 越是匆忙和混乱 就会产生越多的问题 今天我们来谈谈产品设计的步骤 以便更好地进行产品设计 1 市场调查 对调查内容进行深入细致的调查研究 分类分析 包括 设计对象的经营理念和未来前
  • U盘安装Centos 7系统

    开始安装 一 制作U盘启动盘 参考 http jingyan baidu com article a378c960630e61b329283045 html 1 安装UltraISO 2 安装完成后点击 试用 3 点击文件 选择打开 4 找
  • Android Studio快捷开发(常用快捷键)

    本文记录自己常用的快捷开发操作 会持续更新 慢慢补 1 鼠标左键双击选中所点击的部分 2 在句末鼠标左键双击选中该句 3 在 大括号前后鼠标左键双击选中该 大括号包裹的代码段 xml文件中在 lt gt 前后双击也可以选择代码段 4 鼠标点
  • c语言显示器编程,VC实现Windows多显示器编程的方法

    本文实例讲述了VC实现Windows多显示器编程的方法 分享给大家供大家参考 具体如下 一 Windows中接入多个显示器时 可设置为复制和扩展屏 1 设置为复制屏幕时 多个显示器的分辨率是一样的 位置为0 分辨率值 2 设置为扩展屏幕时