我测试了GetDeviceCaps的方案,并且转成C#, 其结果与屏幕分辨率有关,如果设置成标准的分辨率,结果就是实际尺寸,否则就有差异。至于您说的读注册表的方法,我晚上再试试吧。
可是又找不到地方
读注册表真心不想读,因为不会
我测试了GetDeviceCaps的方案,并且转成C#, 其结果与屏幕分辨率有关,如果设置成标准的分辨率,结果就是实际尺寸,否则就有差异。至于您说的读注册表的方法,我晚上再试试吧。
网页链接
可能最终得采用这个方案。但是其中的enumdisplaydevices函数在c#中不会用,导致无法继续。别的路,看起来都不通啊。
只有注册表中的EDID里存储了这个信息。
还有一个更直接的例子,我再找找给您看一下
太感谢了。
您试一下看看是不是也取整了。如果真的是取整了,那估计就只能访问注册表。
网页链接
提到了一个c++调用api函数方法,但是没找到c#的代码,自己又不会改。
您的这个要求,则可能我提到的两个方法(调用API以及直接使用管理对象)都无法得到你要的答案。需要在硬件层面,比如访问驱动程序或者直接和硬件通讯等(以上陈述仅是我的猜想,不能确定)。我再试试看。