买了LG的4K显示器,发现由于分辨率太高,导致好多软件和网站都没进行高分辨率适配,显示比较小,缩放会使好多软件都显示错位。Eclipse就是其中之一。
网上搜了下解决方案如下:
原理
高DPI Windows设备上总会遇到一些不缩放的桌面程序,以Adobe套件为代表(最新版本的CC已经可以缩放了)。超小的按钮和文字不仅难以触控点按,而且伤眼,严重影响生产力。 为什么会这样?其实并不是因为这些程序强制不缩放,而是因为它们告诉系统它们能处理高DPI,能缩放,但是却不进行任何实现!
1.让系统优先使用外部manifest说明文件: 创建注册表键值HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionSideBySidePreferExternalManifest,类型为DWORD,值设为1。
2.使用程序资源提取工具提取不缩放的exe程序的manifest: 使用附件的工具,然后fileName选择你的程序名 将提取的manifest文件重命名为 程序名.exe.manifest
3.修改manifest中的高DPI处理方法: 用记事本打开manifest文件: 修改dpiAware中的属性为false,即程序无法处理高DPI,由系统进行强制缩放。该值导出的默认值为1
4.将manifest文件拷贝至原程序所在目录,运行程序看效果吧!强制缩放会模糊,但至少可用而不伤眼了。
工具资源链接:http://download.csdn.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 后明显感觉界面按钮啥的都大了,但是模糊了,感觉看着晕晕的,我又给改回来了。