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设计】。

相关文章

使用rst2pdf实现将sphinx生成PDF

使用rst2pdf实现将sphinx生成PDF

当初项目文档是用sphinx写的,一套rst下来make html得到一整个漂亮的在线文档。现在想要将文档导出为离线的handbook pdf,于是找到了rst2pdf这个项目,作为sp...

Python MD5文件生成码

import md5 import sys def sumfile(fobj): m = md5.new() while True: d = fobj.read(8096) if not...

Tensorflow读取并输出已保存模型的权重数值方式

这篇文章是为了对网络模型的权重输出,可以用来转换成其他框架的模型。 import tensorflow as tf from tensorflow.python import pyw...

Python实现多线程HTTP下载器示例

Python实现多线程HTTP下载器示例

本文将介绍使用Python编写多线程HTTP下载器,并生成.exe可执行文件。 环境:windows/Linux + Python2.7.x 单线程 在介绍多线程之前首先介绍单线程。编写...

Python中的面向对象编程详解(下)

继承 继承描述了基类的属性如何“遗传”给派生类。一个子类可以继承它的基类的任何属性,不管是数据属性还是方法。 创建子类的语法看起来与普通(新式)类没有区别,一个类名,后跟一个或多个需要...