Private Declare Function GetDC Lib "user32" (ByVal Hwnd As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal Hwnd As Long, ByVal hdc As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
Public Function GetDpiX() As Long
Dim hdc As Long, xdpi As Long
hdc = GetDC(0) ' 0 hwnd для desktop
GetDpiX = GetDeviceCaps(hdc, 88)
ReleaseDC 0, hdc
End Function
для Dpi по Y nIndex = 90, хотя, думаю, что это не повлияет. Для получения процентов GetDpiX * 1.04166666666667