Java disable dpi-aware not working -
i'm trying run java application -dsun.java2d.dpiaware=false
argument nothing happens.
i expect have blurred ui normal size of icons , fonts, seems flag not work.
i'm using jdk 1.8.0_45 on windows 8.1.
i found bug https://bugs.openjdk.java.net/browse/jdk-8080153 don't understand how workaround it.
fix windows, follow these steps:
create windows regedit new dword
- press windows button + r, type “regedit”, , click ok.
- navigate following registry subkey:
hkey_local_machine > software > microsoft > windows > currentversion > sidebyside - right-click, select new > dword (32 bit) value
- type preferexternalmanifest, , press enter.
- right-click preferexternalmanifest, , click modify.
- enter value data 1 , select decimal.
- click ok.
create 2 .manifest file (jdk)
- go java jdk installation folder , open bin directory
- create first file called java.exe.manifest (add code @ end of post).
- create second 1 called javaw.exe.manifest (add code @ end of post).
create 2 .manifest file (jre)
- go java jre installation folder , open bin directory
- create first file called java.exe.manifest (add code @ end of post).
- create second 1 called javaw.exe.manifest (add code @ end of post).
restart java application.
code paste .manifest files
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestversion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> <dependency> <dependentassembly> <assemblyidentity type="win32" name="microsoft.windows.common-controls" version="6.0.0.0" processorarchitecture="*" publickeytoken="6595b64144ccf1df" language="*"> </assemblyidentity> </dependentassembly> </dependency> <dependency> <dependentassembly> <assemblyidentity type="win32" name="microsoft.vc90.crt" version="9.0.21022.8" processorarchitecture="amd64" publickeytoken="1fc8b3b9a1e18e3b"> </assemblyidentity> </dependentassembly> </dependency> <trustinfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedprivileges> <requestedexecutionlevel level="asinvoker" uiaccess="false"/> </requestedprivileges> </security> </trustinfo> <asmv3:application> <asmv3:windowssettings xmlns="http://schemas.microsoft.com/smi/2005/windowssettings"> <ms_windowssettings:dpiaware xmlns:ms_windowssettings="http://schemas.microsoft.com/smi/2005/windowssettings">false</ms_windowssettings:dpiaware> </asmv3:windowssettings> </asmv3:application> </assembly>
it works other applications.
if need fix dpi jnlp application launcher, have add following key resources section inside .jnlp file :
<property name="sun.java2d.dpiaware" value="false"/>
after upgrading windows (e.g win10 win10 1607), should apply fix again if doesn't work anymore.
Comments
Post a Comment