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#