People with bad vision or some people with HTPCs connected to an HDTV, increase the DPI resolution of Windows to provide bigger text easier to read from a distance or for their visual problems (to 150% or more). Windows Vista and 7 do a good job in enlarging programs after that setting, but only when programs have been specially. I recently noticed in such a PC that 7-Zip and a few other free programs displayed badly enlarged, as if a "digital zoom" is applied (pixels stretched and blurred). At the same time I noticed that the video player MPC-HC suffered the same, but solved it when they switched to Visual Studio 2010.
The reason is that programs need to specify "High-DPI awareness" to Windows in order to be nicely scaled or "DPI Virtualization" will occur. And it turns out that Visual Studio 2010 makes this by default to all MFC applications (which I know is not the case for 7-Zip).
Anyway it can be set explicitly as is explained here:
It shows 7zip at the top, old MPC-HC bottom-left, new MPC-HC bottom-right. All from a Windows 7 mini-PC attached to a large HDTV, at > 150% DPI setting. That text size is nice to read at a distance in the living room.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
you can try my build from http://atombomb.no-ip.org/blog/?p=238
it should be dpi aware, the only change needed was in manifest files for 7zg.exe and 7zfm.exe so it should work without problems on older versions of windows
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
roberts8:
I've changed manifest in 7-zip 9.21.02.
I tried to set 150% in Win7. But I don't see any difference. Maybe something wrong with my system. It doesn't look good in any case.
Can somebody show some screenshot that shows the difference between DPI-aware and non-DPI-aware application?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you all, I think that should do it. I don't have easy access to a Win7 PC to try but I'll do it. The person I was refering to has the screen at 200% or near (I think) in a full HD 32" screen and even needs the magnifier tool to read.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
People with bad vision or some people with HTPCs connected to an HDTV, increase the DPI resolution of Windows to provide bigger text easier to read from a distance or for their visual problems (to 150% or more). Windows Vista and 7 do a good job in enlarging programs after that setting, but only when programs have been specially. I recently noticed in such a PC that 7-Zip and a few other free programs displayed badly enlarged, as if a "digital zoom" is applied (pixels stretched and blurred). At the same time I noticed that the video player MPC-HC suffered the same, but solved it when they switched to Visual Studio 2010.
The reason is that programs need to specify "High-DPI awareness" to Windows in order to be nicely scaled or "DPI Virtualization" will occur. And it turns out that Visual Studio 2010 makes this by default to all MFC applications (which I know is not the case for 7-Zip).
Anyway it can be set explicitly as is explained here:
http://msdn.microsoft.com/en-us/library/dd464660%28VS.85%29.aspx
At the very least, I think calling "SetProcessDPIAware();" should do it. But more is explained here:
http://msdn.microsoft.com/en-us/library/ms633543.aspx
Best regards,
Here is a screenshot so you see what I mean. (Please look at it at full resolution)
http://i.imgur.com/9fij5.png
It shows 7zip at the top, old MPC-HC bottom-left, new MPC-HC bottom-right. All from a Windows 7 mini-PC attached to a large HDTV, at > 150% DPI setting. That text size is nice to read at a distance in the living room.
I don't use Vista/7 now.
Maybe I'll check it later.
you can try my build from
http://atombomb.no-ip.org/blog/?p=238
it should be dpi aware, the only change needed was in manifest files for 7zg.exe and 7zfm.exe so it should work without problems on older versions of windows
roberts8:
What exact change in manifest do you mean?
I changed 7zFM.exe.manifest from
to
and 7zG.exe.manifest from
to
roberts8:
I've changed manifest in 7-zip 9.21.02.
I tried to set 150% in Win7. But I don't see any difference. Maybe something wrong with my system. It doesn't look good in any case.
Can somebody show some screenshot that shows the difference between DPI-aware and non-DPI-aware application?
that's weird, it works fine for me
http://img219.imageshack.us/img219/3127/72547836.png
on the left is original version, on the right is my version with changed manifest, I compiled it with vs2008 and windows sdk 7.1
I also managed to make notepad++ dpi aware using directions at
http://msdn.microsoft.com/en-us/library/dd464660%28VS.85%29.aspx#declaring_dpi_awareness
in part "Merge using Mt.exe"
before
http://img34.imageshack.us/img34/7695/nppnonaware.png
after
http://img689.imageshack.us/img689/8592/nppaware.png
what about my new 9.21.02?
looks good to me :)
http://img843.imageshack.us/img843/9677/7z92102.png
Thank you all, I think that should do it. I don't have easy access to a Win7 PC to try but I'll do it. The person I was refering to has the screen at 200% or near (I think) in a full HD 32" screen and even needs the magnifier tool to read.