获取屏幕的大小

Qt/C++和QML获取屏幕大小方法 Qt/C++和QML获取屏幕大小方法 在桌面应用程序的开发过程中,获取屏幕(桌面)的大小来定位桌面应用所显示的位置,是桌面开发中经常用到的 手段,在Qt开发和QML开发中也不例外,本篇着重介绍Qt获取桌面屏幕大小的两种方法,以及对应的QML中获取桌面屏幕 大小的两种方法。 首先上图,说明一下屏幕桌面的区域划分: 如图: 一、Qt/C++获取桌面屏幕大小: (1)、包含头文件 #include <QApplication> #include <QDesktopW... 阅读详情

《VC++获取屏幕大小第一篇 像素大小 GetSystemMetrics》和《VC++获取屏幕大小第二篇物理大小GetDeviceCaps 上》和《VC++获取屏幕大小第三篇物理大小GetDeviceCaps下》这三篇文章主要讲解在VC++下获取屏幕大小。这个功能非常简单,也比较实用。

 

    要获取屏幕的像素大小要使用GetSystemMetrics函数。下面就来看看这个函数的用法:

函数功能:用于得到被定义的系统数据或者系统配置信息

函数原型:

// By MoreWindows( http://blog.youkuaiyun.com/MoreWindows )  

int WINAPIGetSystemMetrics(

       int nIndex

);

参数说明:

这个函数只有一个参数,不过这个参数可以取很多值。在WINUSER.H中有:

/*

 * GetSystemMetrics() codes

 *// MoreWindows( http://blog.youkuaiyun.com/MoreWindows )  

 */

#define SM_CXSCREEN             0

#define SM_CYSCREEN             1

#define SM_CXVSCROLL            2

#define SM_CYHSCROLL            3

#define SM_CYCAPTION            4

#define SM_CXBORDER             5

#define SM_CYBORDER             6

#define SM_CXDLGFRAME           7

#define SM_CYDLGFRAME           8

#define SM_CYVTHUMB             9

#define SM_CXHTHUMB             10

#define SM_CXICON               11

#define SM_CYICON               12

#define SM_CXCURSOR             13

#define SM_CYCURSOR             14

#define SM_CYMENU               15

#define SM_CXFULLSCREEN         16

#define SM_CYFULLSCREEN         17

#define SM_CYKANJIWINDOW        18

#define SM_MOUSEPRESENT         19

#define SM_CYVSCROLL            20

#define SM_CXHSCROLL            21

#define SM_DEBUG                22

#define SM_SWAPBUTTON           23

#define SM_RESERVED1            24

#define SM_RESERVED2            25

#define SM_RESERVED3            26

#define SM_RESERVED4            27

#define SM_CXMIN                28

#define SM_CYMIN                29

#define SM_CXSIZE               30

#define SM_CYSIZE               31

#define SM_CXFRAME              32

#define SM_CYFRAME              33

#define SM_CXMINTRACK           34

#define SM_CYMINTRACK           35

#define SM_CXDOUBLECLK          36

#define SM_CYDOUBLECLK          37

#define SM_CXICONSPACING        38

#define SM_CYICONSPACING        39

#define SM_MENUDROPALIGNMENT    40

#define SM_PENWINDOWS           41

#define SM_DBCSENABLED          42

#define SM_CMOUSEBUTTONS        43

 

#if(WINVER >= 0x0400)

#define SM_CXFIXEDFRAME           SM_CXDLGFRAME  /* ;win40 name change */

#define SM_CYFIXEDFRAME           SM_CYDLGFRAME  /* ;win40 name change */

#define SM_CXSIZEFRAME            SM_CXFRAME     /* ;win40 name change */

#define SM_CYSIZEFRAME            SM_CYFRAME     /* ;win40 name change */

 

#define SM_SECURE               44

#define SM_CXEDGE               45

#define SM_CYEDGE               46

#define SM_CXMINSPACING         47

#define SM_CYMINSPACING         48

#define SM_CXSMICON             49

#define SM_CYSMICON             50

#define SM_CYSMCAPTION          51

#define SM_CXSMSIZE             52

#define SM_CYSMSIZE             53

#define SM_CXMENUSIZE           54

#define SM_CYMENUSIZE           55

#define SM_ARRANGE              56

#define SM_CXMINIMIZED          57

#define SM_CYMINIMIZED          58

#define SM_CXMAXTRACK           59

#define SM_CYMAXTRACK           60

#define SM_CXMAXIMIZED          61

#define SM_CYMAXIMIZED          62

#define SM_NETWORK              63

#define SM_CLEANBOOT            67

#define SM_CXDRAG               68

#define SM_CYDRAG               69

#endif /* WINVER >= 0x0400 */

#define SM_SHOWSOUNDS           70

#if(WINVER >= 0x0400)

#define SM_CXMENUCHECK          71   /* Use instead of GetMenuCheckMarkDimensions()! */

#define SM_CYMENUCHECK          72

#define SM_SLOWMACHINE          73

#define SM_MIDEASTENABLED       74

#endif /* WINVER >= 0x0400 */

#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)

#define SM_MOUSEWHEELPRESENT    75

#endif

#if(WINVER >= 0x0500)

#define SM_XVIRTUALSCREEN       76

#define SM_YVIRTUALSCREEN       77

#define SM_CXVIRTUALSCREEN      78

#define SM_CYVIRTUALSCREEN      79

#define SM_CMONITORS            80

#define SM_SAMEDISPLAYFORMAT    81

#endif /* WINVER >= 0x0500 */

 

#if (WINVER < 0x0500) && (!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0400))

#define SM_CMETRICS             76

#else

#define SM_CMETRICS             83

#endif

//http://blog.youkuaiyun.com/morewindows/article/details/8502583

 

呵呵,够多吧,不用记,要用的时候查下MSDN就好了。由MSDN可以知道传入SM_CXSCREEN和SM_CYSCREEN就得到屏幕的宽和高。详见代码:

[cpp]  view plain copy
  1. //   获取屏幕大小 像素大小  
  2. // By MoreWindows( http://blog.youkuaiyun.com/MoreWindows )  
  3. #include <stdio.h>  
  4. #include <windows.h>  
  5. int main()  
  6. {  
  7.     printf("    获取屏幕大小 像素大小\n");          
  8.     printf(" -- By MoreWindows( http://blog.youkuaiyun.com/MoreWindows ) --\n\n");     
  9.   
  10.     int nScreenWidth, nScreenHeight;  
  11.     nScreenWidth = GetSystemMetrics(SM_CXSCREEN);  
  12.     nScreenHeight = GetSystemMetrics(SM_CYSCREEN);  
  13.   
  14.     printf("屏幕大小(像素) 宽:%d 高:%d\n", nScreenWidth, nScreenHeight);  
  15.     return 0;  
  16. }  

运行结果如下:

 

后面二篇《VC++获取屏幕大小第二篇物理大小GetDeviceCaps上》和《VC++获取屏幕大小第三篇物理大小GetDeviceCaps下》将介绍使用GetDeviceCaps函数来获取屏幕的物理大小,欢迎继续浏览。

地址1:http://blog.youkuaiyun.com/morewindows/article/details/8502592

地址2:http://blog.youkuaiyun.com/morewindows/article/details/8610891

 

转载地址:http://blog.youkuaiyun.com/morewindows/article/details/8502583

SwiftUI macOS 之 如何获取电脑屏幕大小 (教程含源码) 实战需求 SwiftUI macOS 之 如何获取电脑屏幕大小 本文价值与收获 看完本文后,您将能够作出下面的界面 看完本文您将掌握的技能 掌握NSScreen 获取屏幕大小 基础知识 NSScreen 描述计算机监视器或屏幕属性的对象。 class NSScreen : NSObject 总览 应用可以使用NSScreen对象来检索有关屏幕的信息,并使用此信息来决定在该屏幕上显示什么。例如,应用程序可以使用该deepest方法找出哪个可用屏幕可以最好地表示颜色,然后可以选择在该屏幕上显示其所有窗 阅读详情

相关推荐

kmeans聚类分析结果怎么看_【Stata与机器学习】物以类聚-KMeans算法应用案例介绍...

古语有云:物以类聚,人以群分。KMeans是无监督机器学习中的聚类算法中最简单的一种——基于特征对样本进行归为不同的类,很好地阐述了‘物以类聚’这句话的精髓。机器学习又叫统计学习。既然都统计了,所以当然包括了计量经济学。所以一般来说,机器学习的算法类型远多于计量经济学。比如线性回归,这个算是机器学习算法中比较基础的部分。当然,计量经济学在回归分析、因果推断方面的造诣,也是普通机器学算法所不能比的。...

weixin_39857480的博客 1万+

VC++获取屏幕大小第三篇 物理大小GetDeviceCaps 下

本篇文章(MoreWindows)将获取屏幕的物理大小后计算屏幕对角线长度并换算成英寸。这样可以方便大家查看自己电脑屏幕是多少英寸的。为了更方便大家使用,本文将提供电脑屏幕大小查看器下载(配源码)下载地址是(欢迎大家试用):http://download.youkuaiyun.com/detail/morewindows/5106270     通常大家在表示电脑、电视、手机等电子产品的屏幕大小时会使用英寸这

MoreWindows Blog 1万+

基于FLUENT的圆柱绕流数值模拟与流场优化策略

本文详细介绍了基于FLUENT的圆柱绕流数值模拟方法与流场优化策略。从基础概念、建模技巧到湍流模型选择,全面解析了圆柱绕流模拟的关键技术,并提供了实用的网格划分和参数设置建议。通过具体案例展示了流动控制方法和优化流程,帮助工程师有效降低阻力系数,提升流场性能。

f6g7h8i9j的博客 705

VC中获取字符串长度的四种类型

VC中的字符串类型和处理函数是一个比较复杂的问题,这类函数有四中,以去字符串长度的函数为列,如下所示: strlen       str族 wcslen   wcs族 _mbslen     _mbs族 _tcslen       _tcs族 其中,前两族的函数是C语言的标准库函数,后两族函数是VC中特有的函数,即微软的扩展函数。这四族最大的区别是它们所用的字符集不同,或说它们的

self_mind的记事本 5640

Mac用户解决WPS中的俄语显示红线问题(WPS添加外语拼写检查)

我所使用的WPS版本:AppleStore 下载的 MacOs版 3.3.0 首先,对于 在访达-应用程序中,找到WPS,右键-点击“显示包内容” 然后按照下图的索引目录(Contents\Resource\office6\dicts\spellcheck),最后进入一个叫“spellcheck”的文件夹 最后将下载好的字典包(例如上图中的 en_US就代表美式英语;ru_RU就代表俄语) 关于字典包资源下载,我在网上找到一个Google云盘,里面包含了法语,德语,西语,意大利语,葡萄牙.

qq_48159150的博客 7896

一文解释电路中常用电子元器件应用和选型01

电容和二极管是电路中最常用的两个电子元器件,种类和系列众多,这里简单总结一下应用场景和选型方式 电容(Capacitor) 电容的种类(20种以上)和应用非常广泛,但是我经常遇到的无非就是下面这几种: 应用 1.隔直流。 2.旁路(去耦) 3.耦合 4.滤波 5.温度补偿 6.计时 7.调谐 8.整流 9.储能 种类 1. 陶瓷电容 2. 云母电容 3. 铝电解电容 4. 钽

weixin_43904073的博客 2237

Screen coordinate and Client Coordinat

Screen coordinate 坐标是原点在屏幕左上角Client coordinate 坐标原点在应用软件窗口的左上角int with= GetSystemMetrics(SM_CXFULLSCREEN);   int heigh= GetSystemMetrics(SM_CYFULLSCREEN);通过上边两个函数获取的是显示屏幕的大小,及不包括任务栏等区域。   int 

BornFan的专栏 687

Ubuntu Server 22.04.5系统安装教程

该教程主要是演示在服务器上安装Ubuntu server 22.04系统的详细步骤,主要包含,安装系统前的准备(镜像的下载,启动盘的制作),安装系统时的语言选择,网络设置,切换镜像源(可根据实际需求来配置,本文使用清华镜像源),手动分区,用户设置,ssh服务安装等。以上就是关于Ubuntu Server 22.04系统安装的详细过程。

逆水行舟,不进则退。 7761

VC获取屏幕分辨率及大小相关

vc得到屏幕的当前分辨率方法: 1.Windows API调用 int width = GetSystemMetrics ( SM_CXSCREEN );  int height= GetSystemMetrics ( SM_CYSCREEN );  如果想动态自适应分辨率的变化,处理WM_DISPLAYCHANGE消息.  2.获得分辨率 BOOL EnumDisplaySettin

hzy694358的专栏 3万+

Android 15.0 添加自定义服务,并生成jar给第三方app调用

在15.0系统ROM产品定制化开发中,由于需要新增加自定义的功能,所以要增加自定义服务,而app上层通过调用自定义服务,来调用相应的功能,所以系统需要先生成jar,然后生成jar 给上层app调用,接下来就来分析实现的步骤,然后来实现相关的功能 从而来实现所需要的功能

安卓兼职framework和app工程师的博客 668

【ARM Coresight | AMBA BUS | Cache 与 MMU/MPU | CoreLink | GCC | CSH 专栏导读】

1. ARM Coresight(SoC-400/SoC-600) 专栏 2. ARMv8/v9 CPU/Cache 专栏 3. Linux ARM AMBA 总线 专栏 4. Trace32/DS-5 专栏。。。

CodingCos的博客 8241

vc 获取屏幕大小

  int with= GetSystemMetrics(SM_CXFULLSCREEN);   int heigh= GetSystemMetrics(SM_CYFULLSCREEN);通过上边两个函数获取的是显示屏幕的大小,及不包括任务栏等区域。   int   cx   =   GetSystemMetrics(   SM_CXSCREEN   );     int   cy

狼哥 4917

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

获取屏幕大小

屏幕的大小有两种情形: (1)整个屏幕的大小,包括工具栏的大小。方法是用函数 int WINAPI GetSystemMetrics( __in int nIndex ); 用法: int xScreen = GetSystemMetrics(S

iamdll的专栏 1367

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android查看屏幕大小,Android 获取设备屏幕大小的几种方法总结

1、通过WindowManager获取DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);System.out.println("heigth : " + dm.heightPixels);System.out.println("width : " + dm.w...

weixin_39904116的博客 1589

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

QT获取屏幕和可用桌面大小

QDesktopWidget* desktopWidget = QApplication::desktop(); //获取设备屏幕大小 QRect screenRect = desktopWidget->screenGeometry(); double screenX = screenRect.width(); double screenY = ...

ikisstherain的博客 4524

Qt获取电脑屏幕大小

在Qt中获取电脑屏幕的大小(宽度和高度),可以使用类(对于Qt 4.x和早期的Qt 5.x版本)或QScreen类(对于较新的Qt 5.x版本及以上)。

CHNIM的博客 2807

java获取手机屏幕大小_获取手机屏幕大小

Java代码// 通过WindowManager获取DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);System.out.println("heigth : " + dm.heightPixels);System.out.println("width : "...

weixin_42327291的博客 401

【Unity UGUI】获取UGUI界面的屏幕大小

【Unity UGUI】获取UGUI界面的屏幕大小 UGUI屏幕大小 说到屏幕大小我们可能会想到Unity自带的Screen.width,但是其实UGUI的屏幕大小是根据我们的适配情况自己算出来的,它和Screen.width是不一样的。我们在做分辨率适配的时候需要获取到当前的屏幕尺寸,也就是图中的箭头所示大小。 具体可以通过以下方法获取 /// <summary> ...

onelei的博客 3801

javascript获取屏幕、窗口、元素等的大小

javascript获取屏幕、窗口、元素等的大小 一. 屏幕大小 ​ 什么是屏幕大小?屏幕大小是指当前所用设备的屏幕的分辨率(浏览器窗口外部显示器的大小),它一般是不变的。它们可以通过javaScript中screen对象的属性获取。 screen.height: 屏幕的像素高度 screen.width: 屏幕的像素宽度 screen.availHeight: 屏幕的可用工作区的像素高度(即屏幕的像素高度减去系统部件高度之后的值) screen.availWidth: 屏幕的可用工作区的像素宽度(即

weixin_42291355的博客 1401

Android获取屏幕大小

在做UI开发时常常需要获取屏幕的大小,以便布局界面,Android提供了以下接口获取屏幕的相关信息: [java] view plain copy Display display = getWindowManager().getDefaultDisplay();   Log.i("view", "height:"+display.getHeig

二丁目的丰功笔记 447

C# 获取屏幕的大小 SystemInformation类

C# 获取屏幕的大小 WinForm: intiActulaWidth =Screen.PrimaryScreen.Bounds.Width; intiActulaHeight =Screen.PrimaryScreen.Bounds.Height ; WPF下的: doubledWidth = System.Windows.SystemParamete...

dietaiyu0994的博客 739

获取View的有效屏幕大小

在编写游戏时,需要针对不同屏幕的分辨率来控制显示图标的大小,针对继承View的定制View 缺省的getWidth(),getHeight()为0,尝试如下方法: 1:在View的构造函数中,向根据View所在的Activity对象中的根FrameLayout获取屏幕大小

人生百年几今日,今日不为真可惜。 3216

java获取屏幕大小

import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.JFrame;   public class getScreenSize {          public static void main(String[] args) {          //获取屏幕大小     Dimension

CARROTHWQ的专栏 3293

js获取屏幕大小

1、js获取屏幕大小 <html> <script> function a(){ document.write( "屏幕分辨率为:"+screen.width+"*"+screen.height +"<br />"+ "屏幕可用大小:"+screen.availWidth+"*"+screen.availHeight +"<br /&g...

weixin_30678349的博客 146

获取屏幕,窗口和网页大小

屏幕尺寸:屏幕的宽度和高度(显示器有像素的地方)。window.screen 保存屏幕尺寸信息的对象。可用屏幕:去除系统工具栏(mac 顶部栏或 windows 底部栏)screen.availWidth:可利用的宽,等于屏幕的宽。screen.availHeight:可利用的高,等于屏幕的高减去 mac 顶部栏或 windows 底部栏。屏幕距离:浏览器窗口到屏幕的距离,各浏览器全屏时的初值不同,谷歌全屏时四个值均为0。

qq_43527485的博客 274
上一篇: AssertValid和Dump函数的应用
下一篇: IOCP模型与网络编程
heary29
博客等级 码龄12年 37粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值