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

yipeiwu_com7年前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多线程扫描端口(线程池)

扫描服务器ip开放端口,用线程池ThreadPoolExecutor,i7的cpu可以开到600个左右现成,大概20s左右扫描完65535个端口,根据电脑配置适当降低线程数 #!/u...

Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】

Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】

本文实例讲述了Python基础学习之基本数据结构。分享给大家供大家参考,具体如下: 前言 相比于PHP,Python同样也是脚本解析语言,所以在使用Python的时候,变量和数据结构相对...

Python实现线性判别分析(LDA)的MATLAB方式

Python实现线性判别分析(LDA)的MATLAB方式

线性判别分析(linear discriminant analysis),LDA。也称为Fisher线性判别(FLD)是模式识别的经典算法。 (1)中心思想:将高维的样本投影到最佳鉴别矢...

python+opencv实现霍夫变换检测直线

python+opencv实现霍夫变换检测直线

本文实例为大家分享了python+opencv实现霍夫变换检测直线的具体代码,供大家参考,具体内容如下 python+opencv实现高斯平滑滤波 python+opencv实现阈值分...

对Python 网络设备巡检脚本的实例讲解

对Python 网络设备巡检脚本的实例讲解

1、基本信息 我公司之前采用的是人工巡检,但奈何有大量网络设备,往往巡检需要花掉一上午(还是手速快的话),浪费时间浪费生命。 这段时间正好在学 Python ,于是乎想(其)要(实)解(...