买了LG的4K显示器,发现由于分辨率太高,导致好多软件和网站都没进行高分辨率适配,显示比较小,缩放会使好多软件都显示错位。Eclipse就是其中之一。
网上搜了下解决方案如下:
原理
高DPI Windows设备上总会遇到一些不缩放的桌面程序,以Adobe套件为代表(最新版本的CC已经可以缩放了)。超小的按钮和文字不仅难以触控点按,而且伤眼,严重影响生产力。 为什么会这样?其实并不是因为这些程序强制不缩放,而是因为它们告诉系统它们能处理高DPI,能缩放,但是却不进行任何实现!
1.让系统优先使用外部manifest说明文件: 创建注册表键值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\PreferExternalManifest,类型为DWORD,值设为1。
2.使用程序资源提取工具提取不缩放的exe程序的manifest: 使用附件的工具,然后fileName选择你的程序名 将提取的manifest文件重命名为 程序名.exe.manifest
3.修改manifest中的高DPI处理方法: 用记事本打开manifest文件: 修改dpiAware中的属性为false,即程序无法处理高DPI,由系统进行强制缩放。该值导出的默认值为1
4.将manifest文件拷贝至原程序所在目录,运行程序看效果吧!强制缩放会模糊,但至少可用而不伤眼了。
工具资源链接:http://download.****.net/detail/applebomb/9715106
具体步骤
1、打开注册表(win+R快捷键打开运行窗口,输入regedit,点击确定即可打开),定位到目录:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ SideBySide \ ,然后在右边空白处点击右键,选择新建 --> DWORD(32位)值,名称为 PreferExternalManifest,值为1。
2、把下面的XML内容保存为 eclipse.exe.manifest 放到 eclipse.exe 同目录下,如果是MyEclipse,文件名则为 myeclipse.exe.manifest,以此类推,前一部分与IDE的执行文件名一致。
<?xml version="1.0" encoding="utf-8"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0">
<description>eclipse</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel xmlns:ms_asmv3="urn:schemas-microsoft-com:asm.v3" level="asInvoker" ms_asmv3:uiAccess="false"> </requestedExecutionLevel>
</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>
3、再次打开的 eclipse 后明显感觉界面按钮啥的都大了,但是模糊了,感觉看着晕晕的,我又给改回来了。