Python如何获取Win7,Win10系统缩放大小

yipeiwu_com5年前Python基础

这篇文章主要介绍了Python如何获取Win7,Win10系统缩放大小,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

使用pywin32调用windows系统接口。

利用GetDeviceCaps获取指定设备的设备信息。

具体参考https://docs.microsoft.com/en-us/windows/desktop/api/wingdi/nf-wingdi-getdevicecaps

实现如下

def get_dpi():
  hDC = win32gui.GetDC(0)
  dpi = win32print.GetDeviceCaps(hDC, win32con.LOGPIXELSX)
  return dpi

win10下。如果有缩放,以上代码总只能获取到dpi为96,好像没什么卵用

以下代码能获取到屏幕实际像素,即使缩放了。也能正确获取

def get_dpi():
  hDC = win32gui.GetDC(0)
  #横向分辨率
  HORZRES = win32print.GetDeviceCaps(hDC, win32con.DESKTOPHORZRES)
  #纵向分辨率
  VERTRES = win32print.GetDeviceCaps(hDC, win32con.DESKTOPVERTRES)
  return HORZRES,VERTRES

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

朴素贝叶斯分类算法原理与Python实现与使用方法案例

朴素贝叶斯分类算法原理与Python实现与使用方法案例

本文实例讲述了朴素贝叶斯分类算法原理与Python实现与使用方法。分享给大家供大家参考,具体如下: 朴素贝叶斯分类算法 1、朴素贝叶斯分类算法原理 1.1、概述 贝叶斯分类算法是一大类分...

Python3.7 dataclass使用指南小结

dataclass简介 dataclass的定义位于PEP-557,根据定义一个dataclass是指“一个带有默认值的可变的namedtuple”,广义的定义就是有一个类,它的属性均可...

Tensorflow 训练自己的数据集将数据直接导入到内存

Tensorflow 训练自己的数据集将数据直接导入到内存

制作自己的训练集 下图是我们数据的存放格式,在data目录下有验证集与测试集分别对应iris_test, iris_train 为了向伟大的MNIST致敬,我们采用的数据名称格式和...

对python中数据集划分函数StratifiedShuffleSplit的使用详解

对python中数据集划分函数StratifiedShuffleSplit的使用详解

文章开始先讲下交叉验证,这个概念同样适用于这个划分函数 1.交叉验证(Cross-validation) 交叉验证是指在给定的建模样本中,拿出其中的大部分样本进行模型训练,生成模型,留小...

在Python下尝试多线程编程

多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多...