Windows API获取屏幕真实大小
在Petzold的书中写用GetDeviceCaps(hdc,LOGPIXELSX)得到屏幕DPI(dot per inch)计算真实大小,但我实际操作了发现不对。在Windows系统中,我得到LOGPIXELSX为96,无论分辨率怎么调整都是96,也许是出于对文字显示的考虑。
我发现使用GetDeviceCaps(hdc,HORZSIZE)和GetDeviceCaps(hdc,VERTSIZE)来获取屏幕真实大小才是合理正确的,这两个返回值都是毫米为单位。我在1366*768下得到的HORZSIZE为320mm,我拿尺子量了确实是这么多。又改为800*600,由于比例不同屏幕两边有黑边,我又量了和获取的232mm一致。
由此可以得到DPM的概念,即dot per milimeter,每毫米像素,用像素长度除以DPM即得到毫米长度。反之,用毫米长度乘以DPM即得到对应的像素。
DPMX = GetSystemMetrics(SM_CXSCREEN) / GetDeviceCaps(hdc, HORZSIZE);DPMY = GetSystemMetrics(SM_CYSCREEN) / GetDeviceCaps(hdc, VERTSIZE);
Windows API获取屏幕真实大小相关推荐
- HDFS剩余空间大小的Java接口,java api获取hdfs索引大小
java api获取hdfs目录大小 1. hadoop fs -dus 的源码: public static void dus(String src,Configuration conf) thro ...
- android 获取navigationbar 高度,Android判断NavigationBar是否显示的方法(获取屏幕真实的高度)...
有些时候,我们需要知道当前手机上是否显示了NavigationBar,也就是屏幕底部的虚拟按键. 比如截屏的时候,要获取屏幕的高度,必须包括NavigationBar的高度. 试过网上的多种方法,但是 ...
- Java获取屏幕真实分辨率
这个问题大家可能不陌生,一搜索,就一堆答案,大多是一行代码搞定 Toolkit.getDefaultToolkit().getScreenSize(); 然而简单做了一个测试,效果如下,输出1707x ...
- Python获取屏幕分辨率大小
获取屏幕大小有两种方法可以办到: 1.wxPython里的 2.win32api 1 # coding:gb2312 2 # wxApp.py 3 # author: aoogur 4 im ...
- C# 使用Windows API获取系统当前鼠标信息(图案)
通过使用Windows API来获取当前鼠标的图案,不论是系统图片还是自定义图标都能够获取到,在这个示例中,为了方便测试,给Form1添加了一个KeyPress事件,在程序激活状态下,将鼠标移动到任意 ...
- Windows API 获取卷的基本信息
通过对 Windows API 基础的一些学习,自己编写了一个可以读取卷的名称.文件系统类型.大小和剩余大小这些基本信息的小程序.程序很简单,却也受益匪浅. 定义的宏: #define BUFFSIZ ...
- windows api获取主板序列号
微软官方给出api:GetSystemFirmwareTable GetSystemFirmwareTable function (sysinfoapi.h) - Win32 apps | Micro ...
- Windows API获取系统配置文件的配置参数
在Windows平台下获取系统配置文件(如:System.ini)的配置参数. 系统配置文件System.ini的内容如下: [SYSTEM] ServiceIP = 10.128.11.99:600 ...
- 微信小程序 - 获取屏幕的大小
使用wx.getSystemInfo(Object object)接口获取打开小程序的机型参数. 常用的有: screenWidth(屏幕宽度) screenHeight(屏幕高度) statusBa ...
最新文章
- 在ASP.NET MVC里对Web Page网页进行权限控制
- C++二维码相关库编译
- Java实现URL下载图片到本地
- 史上最易懂的 Kubernetes 儿童插图指南
- malloc,calloc和realloc函数
- 对象容器设计模式_容器对象模式。 一种新的测试模式。
- 【电设控制与图像训练题】【激光打靶】【openmv测试代码以及效果】
- Pycharm下安装Tensorflow
- 开发经验分享_01_遇到问题三步走(思路+实战)
- qt web混合编程_VS2017+QT 混合编程-在VS控制台程序配置QT
- Python数据结构与算法笔记(一):时间复杂度与空间复杂度
- IntelliJ IDEA下SVN的配置及使用说明
- Shiro完整教程, 附带各种配置
- PQ分区出错,由Ghost来补救的办法(转)
- 制造业OEER语言数据挖掘之人工神经网络探索
- git 版本回退之关于git reset --hard 和 --soft区别
- (CRON) info (No MTA installed, discarding output)” error in the syslog
- 联想台式电脑硬盘分区失败数据恢复
- 京东七夕报名要注意什么?四川万顿思
- 不能共情你还当什么领导
热门文章
- 256 量子比特,QuEra这家创业公司再创新绩
- 腾讯微博10年数据对比,看看过去的辉煌,曾经的全球第一微博
- 5G,一场商业噱头 or 一次技术革命?
- 完全用linux办公(一)
- tableau自定义形状功能制作超市盈利情况表
- mysql百度云_MySQL从入门到精通视频教程 (46集)
- MITSUMI美上美(SIQ-02FVC3)拨盘编码器硬件连接及stm32f103zet6正交解码测试
- 难道要让中国世代的人都去充当廉价的劳动力吗?
- springboot校园交友网站1.0(Springboot+Mybatis+thymeleaf+人脸识别+语音助手+百度地图)
- Oracle中游标(Cursor)介绍和使用