獲取當前分辨率及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"));
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章