procedure TForm1.Button1Click(Sender: TObject);
var x,y,x1,y1:longint;
DC:HDC;
c
ouble;
begin
DC:=GetDC(0);
try
x := GetDeviceCaps(DC,HORZSIZE);//这是显示器显示区域的宽,单位为mm
y := GetDeviceCaps(DC,VERTSIZE);//这是显示器显示区域的高,单位为mm
ShowMessage('显示器垂直高度:'+inttostr(x));
c:=SQRT(SQR(x)+SQR
);//对角线长(mm).
c:=c/10/2.54;
ShowMessage('显示器水平分辨率:'+FloatToStr(c));//这是显示器可显示区域大小.
//比如我的显示器是17''的纯平,显示区域为15.748''.
x1 := GetDeviceCaps(DC,HORZRES);//这是显示器显示区域的宽,单位为象素
y1 := GetDeviceCaps(DC,VERTRES);//这是显示器显示区域的高,单位为象素
ShowMessage('显示器水平分辨率:'+FloatToStr(x1/x));
//这是你所说的水平单位长度mm上的象素个数,我的是3.2(1024*768).
ShowMessage('显示器水平分辨率:'+FloatToStr(y1/y));
//这是你所说的垂直单位长度mm上的象素个数,我的是3.2(1024*768).
finally
ReleaseDC(0,DC);
end;
end;