#include <windows.h>
//获取系统dpi
int get_system_dpi(void)
{
//加载系统库user32.dll
HMODULE hUser32 = LoadLibrary(TEXT("user32.dll"));
SetProcessDPIAwareFn *ptr;
int hdpi, vdpi;
HDC desktopDC;
//获取SetProcessDPIAware系统函数地址
ptr = (SetProcessDPIAwareFn *)GetProcAddress(hUser32, "SetProcessDPIAware");
if (ptr != NULL)
ptr();//调用系统函数
FreeLibrary(hUser32);
desktopDC = GetDC(NULL);
hdpi = GetDeviceCaps(desktopDC, LOGPIXELSX);//我这里是120
vdpi = GetDeviceCaps(desktopDC, LOGPIXELSY);//我这里是120
/* hdpi,vdpi = 100 means 96dpi. */
return ((hdpi + vdpi) * 96 + 0.5f) / 200;//得出115
}