【问题标题】:java: how can i set the compatibility mode of a native .exe?java:如何设置本机.exe的兼容模式?
【发布时间】:2010-05-23 20:15:42
【问题描述】:

所以我有一个本机可执行文件(适用于 OS X 和 Windows)隐藏在 .jar 中,然后以编程方式将其提取到临时位置并从那里执行。不幸的是,这个可执行文件在我的 Windows 机器(Win 7 64 位)上无法正常运行,但是当我手动将兼容模式设置为 Windows XP 预设时,它会起作用。

有没有办法我可以通过 Java 以编程方式做到这一点?

【问题讨论】:

    标签: java executable native compatibility-mode


    【解决方案1】:

    我相信有一种方法可以通过更改注册表来做到这一点,因此您必须使用 Java 以编程方式更改某些注册表项。这当然不是一个理想的解决方案,也绝对不是一个跨平台的解决方案。

    这是how to 上的链接,可以实现这一目标。

    此外,您还需要一个使用 Windows API 的 Java 包,快速的 Google 搜索显示this。但我相信还有更多方法可以访问注册表。

    【讨论】:

    • 这看起来不错,谢谢。调查一下,虽然以前从未使用过 Windows 注册表。我想一旦不再需要临时可执行文件就必须删除生成的注册表项,或者现在注册表是否会自行清理?
    • 如果您设置了一个注册表项,如果您认为应该清除它,您的工作就是清除它。
    【解决方案2】:

    我认为您确实想要修复本机 exe 中的不兼容问题。兼容模式确实适用于用户别无选择的应用程序。我无法告诉你我浪费了多少小时调试由于用户意外打开兼容模式而导致的愚蠢行为 - 如果你有任何选择,最好避免它。

    【讨论】:

    • 我会这样做,但 exe 不是我的。
    猜你喜欢
    • 1970-01-01
    • 2015-10-20
    • 2011-07-21
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 2014-04-18
    相关资源
    最近更新 更多