大家好:
       我现在需要获得我的屏幕的实际物理尺寸,于是我用GetDeviceCaps函数,参数为HORZSIZE,获得的值是320,根据文档说明也就是说我的屏幕是32厘米,但是很明显我用直尺量的是34厘米还多,请问是什么原因啊?
       还有怎么获得实际的屏幕的物理尺寸呢?

解决方案 »

  1.   

    int GetSystemMetrics(
      int nIndex   // system metric or configuration setting
    );
      

  2.   

    请问能具体说说吗?
    我看了这个函数,只能获得以像素为单位的屏幕大小
    我想要的是实际的物理尺寸,就是以毫米位单位的。
    我知道有一个GetDeviceCaps函数是获取实际大小,但是和我实际测量的差别很大,有谁知道这其中的关系吗?
    还有一个参数位LOGPIXELCX的,这个获得的是“每英寸像素数”,但是我改变屏幕的分辨率后这个值始终都是96啊,并不会随分辨率改变,也就是说并不能真正代表“每英寸像素数”。
    有谁比较清楚的来说说。
      

  3.   

    这个要看显示器是否支持了,Windows不知道你接多大的显示器,必须显示器自己报告。
    或者通过驱动、或者通过其他什么方式来报告给系统。报得准不准又是另外一回事了。
      

  4.   

    专门 看了一下是  Width in millimeters: 508
    记错了 映射那里才是 英寸
      

  5.   

    http://topic.csdn.net/u/20091204/16/0f11cbb3-a87e-497d-b8ee-e8a8402c7832.html
    看看这个帖子!前一段时间讨论过!
      

  6.   


    不管你显示器是多少寸的,它都显示320*240.
    通过WINDOWS API,是没办法获得屏幕实际大小的。