Java 仅 运行 兼容模式设置为 Windows 98 或更早版本

Java would only run on Compatibility Mode set to Windows 98 or older

我的 Java SE (8u111) 无法正常工作。我无法打开 java 个程序。甚至 Java 控制面板也不行。我已经重装了 5 次了,java 还是不行。每次我尝试打开 Java(CP 或程序)时,它都会出现在 Taskmgr 中,做一些工作(CPU 并且磁盘速率正在上升),然后速率回到 0(内存除外),并且 Java 在没有任何错误通知的情况下自行关闭。

我第一次安装 Java,它没有兼容模式。 现在,它没有。

我在它崩溃之前所做的唯一事情是:

它坏了之后,我做了这些来解决:

如果我将兼容模式设置为 Windows 98 / Windows 我或更老,它可以工作。但是如果我将它设置为 Windows XP 或更高版本,它将不起作用。有人知道为什么吗?

I 运行 Java SE 8u111(首次安装,从未更新),Windows 10 版本 1607 英特尔酷睿 i5-7200U、Nvidia Geforce 920MX,全部 运行 在新的 2 周旧笔记本电脑上运行。

还有一件事,我怀疑这会有帮助,但是,我使用自定义 DPI 缩放 (145%)

Test by launching from the console. it's as simple as typing java -jar path-to-your-jarfile into the terminal (can be opened with "win+r" and typing "cmd"). That might at least give you an idea what is the actual problem. --Paul

谢谢保罗的建议!在我从控制台 运行 我的 java 程序之后,我发现所有程序的崩溃都是由 java.lang.IllegalArgumentException: 33 incompatible with Text-specific LCD contrast key.

引起的

我快速 google 搜索并阅读了 https://www.rarst.net/software/cleartype-install4j-java-bug/

然后我想起来了,我在java 中断之前修改了cleartype 的注册表。所以我通过 Windows 控制面板重新校准了 cleartype 设置,现在......一切正常!网络上的所有 java 程序、Java 控制面板和 java 现在都可以使用!

我可能已经明白为什么兼容模式只适用于 Windows 98 或更早版本。我的 cleartype 参数无效,java 无法处理 cleartype。 Cleartype 是在 Windows XP 上实现的(我认为)。与兼容。告诉 Java 这台机器是 Windows 98 的模式,Java 不会开始收集有关 cleartype 的配置和信息 and/or 加载 cleartype,使其不会崩溃。

我的问题解决了!谢谢!