Posted By: ZippyV | Jan 14th @ 6:23 AM
page 1 of 1
Comments: 1 | Views: 675
ZippyV
ZippyV
Fired Up
I've set the DPI setting at 150% and I noticed some applications have a blurry interface. I thought I was safe because I've put the scalingmode on my application's mainform on DPI but my application is now blurry too.
What do I have to do to make my application's interface sharp again?
Sven Groot
Sven Groot
Gravity is a CIA plot to keep us on Earth.
You must mark the application as high-DPI compatible to prevent Windows from scaling it (this was true on Vista too). If you're using C# with Visual Studio 2008, add an "Application Manifest File" to the project. In VB, the easiest way is to open the project properties, application tab, and click "View UAC Settings"; this will automatically add a manifest file if there isn't one yet.

Then add the following to the manifest file (nested inside the root element):
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <dpiAware>true</dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>


Be sure to leave the existing stuff about the execution level alone. That's best left the way it is.

If you are using Visual Studio 2005, I have described the process for adding a manifest to your application in this blog post.

Incidentally, if you have any third-party applications that you know should be compatible but are being scaled (Visual Studio 2008 itself seems to fall into this category), you can simply open the properties of their shortcut or executable, go to the compatibility tab, and check the "Disable display scaling for high DPI settings" option. But for applications that you created I recommend the manifest approach.
page 1 of 1
Comments: 1 | Views: 675
Microsoft Communities