获取windows 分辨率(python,C++)


#pip install pywin32 
import platform
import tkinter as tk  
 
def screen_scale_rate():
    """获取缩放后的分辨率"""
    if ('Windows' == platform.system()):
        from win32 import win32api, win32gui, win32print
        from win32.lib import win32con
        sX = win32api.GetSystemMetrics(0)   #获得屏幕分辨率X轴
        sY = win32api.GetSystemMetrics(1)   #获得屏幕分辨率Y轴
        print(f"获得屏幕分辨率X轴: {sX}")
        print(f"获得屏幕分辨率Y轴: {sY}")

        """获取真实的分辨率"""
        hDC = win32gui.GetDC(0)
        x = win32print.GetDeviceCaps(hDC, win32con.DESKTOPHORZRES)  # 横向分辨率
        y = win32print.GetDeviceCaps(hDC, win32con.DESKTOPVERTRES)  # 纵向分辨率
        print(f"横向分辨率: {x}")
        print(f"纵向分辨率: {y}")


        # 缩放比率
        screen_scale_rate = round( y/ sY, 2)
        print('计算得到的屏幕缩放比为:',screen_scale_rate)

 
if __name__=="__main__":
    screen_scale_rate()

C++:

// 编译方式 g++ getScanse.cpp -lgdi32 -luser32 -o getScanse 
// 链接库 -lgdi32 -luser32

#include <windows.h>  
#include <iostream>
#pragma(comment(lib,"user32.lib")
  
int main() {  
    size_t width = (size_t)GetSystemMetrics(SM_CXSCREEN);
    size_t height = (size_t)GetSystemMetrics(SM_CYSCREEN);

    std::cout << "Screen Resolution: " << width << "x" << height << std::endl;


    HDC hDC = GetDC(NULL);  
    int x = GetDeviceCaps(hDC, DESKTOPHORZRES);  // 横向分辨率  
    int y = GetDeviceCaps(hDC, DESKTOPVERTRES);  // 纵向分辨率  
    ReleaseDC(NULL, hDC); 

    std::cout << "Screen Resolution: " << x << "x" << y << std::endl;

    return 0;  
}

主要问题在依赖的配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值