获取当前分辨率及dip值

#include "ShellScalingAPI.h"
#pragma comment(lib, "Shcore.lib")


//输出当前分辨率

        int width = GetSystemMetrics(SM_CXSCREEN);

int height = GetSystemMetrics(SM_CYSCREEN);


//输出当前dpi

HDC hdcScreen = GetDC(NULL);
double fDPIX = (double)GetDeviceCaps(hdcScreen, LOGPIXELSX);
double fDPIY = (double)GetDeviceCaps(hdcScreen, LOGPIXELSY);
CUtility::WriteLogFile(_T("width=%d,height=%d,fDPIX=%f,fDPIY=%f"), width, height, fDPIX, fDPIY);


//禁用当前程序受系统dpi设置的影响

if (S_OK != SetProcessDpiAwareness(PROCESS_SYSTEM_DPI_AWARE)) {
CUtility::WriteLogFile(_T("Set Process Dpi failure"));
}

版权声明:本文为leez0301原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。