当前位置:编程学习 > C#/ASP.NET >>

window 7 high DPI模式I下程序获取DPI的问题

首先大家可以参考这篇文章http://biancheng.dnbcw.info/net/49155.html

在Vista以后,如果系统DPI大于等于144, 在程序中就没法通过传统的方法(CreateGrapic)获得当前正确的DPI,而是返回96.

只有调用vista后新加入的user32函数SetProcessDPIAware(),传统的方法才起作用。


微软不建议程序员用SetProcessDPIAware(),因为这样windows就不会对用户的程序做自动调整了,程序员自己不处理DPI变化的话界面会比较难看,当然windows自己处理的结果也不理想。

我的程序只需要一瞬间知道DPI然后保存个图片而已,所以能不能调用SetProcessDPIAware后再消除其影响?或者有没有别的更好的办法获得DPI?
windows windows7 DPI 144DPI SetProcessDPIAware
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,