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

yipeiwu_com6年前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后台开发Django的教程详解(启动)

Python后台开发Django的教程详解(启动)

Django版本为:2.1.7 Python的web框架,MTV思想 MVC Model(模板文件,数据库操作)  view(视图模板文件  )controller(...

python通过nmap扫描在线设备并尝试AAA登录(实例代码)

如果管理网络设备很多,不可能靠人力每天去登录设备去查看是否在线。所以,可以利用python脚本通过每天扫描网络中的在线设备。可以部署在服务器上做成定时任务,每天发送AAA巡检报告。 下面...

如何在Django项目中引入静态文件

如何在Django项目中引入静态文件

今天继续学习Django,今天主要掌握两个小点 一、如果为Django项目中引入静态文件 1、先要在project目录下创建static的目录,然后将jquery文件拷贝这个目录下就可以...

python日志logging模块使用方法分析

python日志logging模块使用方法分析

本文实例讲述了python日志logging模块使用方法。分享给大家供大家参考,具体如下: 一、从一个使用场景开始 开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件 i...

Python基于动态规划算法计算单词距离

本文实例讲述了Python基于动态规划算法计算单词距离。分享给大家供大家参考。具体如下: #!/usr/bin/env python #coding=utf-8 def word_d...