|
#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 } |