zoukankan      html  css  js  c++  java
  • [windows API]获取当前系统图标,文字大小

     取DPI 缩放比例
    HWND wnd = ::GetDesktopWindow();
    dbg_print("desktopwnd:0x%X ",wnd);
    HDC dc = GetDC(wnd);

    int desktopVerts = GetDeviceCaps(dc, DESKTOPVERTRES );
    dbg_print("DESKTOPVERTRES:%d ",desktopVerts);
    int verts = GetDeviceCaps(dc, VERTRES );
    dbg_print("VERTRES:%d ",verts);
    dpiScaling = desktopVerts*100 / verts;
    ReleaseDC(dc);


    计算缩放参照
    void dpiScale(RECT& r)
    {
    r.left  = r.left * dpiScaling / 100;
    r.right = r.right * dpiScaling / 100;
    r.top   = r.top * dpiScaling / 100;
    r.bottom = r.bottom * dpiScaling / 100;
    }
    以上就是获取DPI缩放比例和计算参照,注意:由于是整数计算,比例被先放大了100倍,这里需要换算回去,以避免整数除法带来的较大误差 
     
     
    后加:
     
     HWND wnd = ::GetDesktopWindow();
    HDC dc = ::GetDC(wnd);
    double PIXX = GetDeviceCaps(dc, LOGPIXELSX);
    double rate = PIXX / 96; 
  • 相关阅读:
    HTML5表单元素的学习
    微博账号注册
    微博三方登陆流程
    Vue发送短信逻辑
    celery异步发送短信
    celery
    celery
    jwt安装配置与原理
    图片验证
    Vue组件
  • 原文地址:https://www.cnblogs.com/lyggqm/p/5972273.html
Copyright © 2011-2022 走看看