Risoluzione e dpi dello schermo

Non credo di essere l’unico ad essere nella necessit di capire non solo la risoluzione dello schermo ma il DPI dello stesso.
Mi trovo nella necessit di mantenere il size, non come pixel ma in mm o inch, a prescindere dalla diagonale dello schermo e sua risoluzione.

Ora l’oggetto screen torna solo la risoluzione.
Come si pu trovare il dpi?

Ambiente Windows.

DPI di visualizzazione su Windows?
Penso che questo sia impossibile.

Hai provato con:
Declare Function GetDC Lib “user32” (hWnd As Ptr) As Ptr
Declare Function GetDeviceCaps Lib “gdi32” _
(hdc As Ptr, nIndex As Integer) As Integer
Declare Sub ReleaseDC Lib “user32” (hWnd As Ptr, hdc As Ptr)

Const LOGPIXELSX = 88
Const LOGPIXELSY = 90

Dim hdc As Ptr = GetDC(Nil)
Dim dpiX As Integer = GetDeviceCaps(hdc, LOGPIXELSX)
Dim dpiY As Integer = GetDeviceCaps(hdc, LOGPIXELSY)
ReleaseDC(Nil, hdc)

Dim scaleFactorX As Double = dpiX / 96
Dim scaleFactorY As Double = dpiY / 96

Grazie per le info indicate.

Ho trovato anche altri dati utili come la larghezza e altezza fisica dello schermo in millimetri oltre che in pixel.
Le costanti da utilizzare sono:

Const HORZSIZE = 4 ’ Horizontal size in millimeters
Const VERTSIZE = 6 ’ Vertical size in millimeters
Const HORZRES = 8 ’ Horizontal width in pixels
Const VERTRES = 10 ’ Vertical height in pixels