因此,我有一个藏在.jar内部的本机可执行文件(既适用于OS X和Windows),然后将其编程提取到临时位置并从那里执行。不幸的是,当我手动将兼容模式设置为Windows XP预设时,此可执行文件将无法在我的Windows计算机上正确运行(Win 7 64位)。

有什么方法可以从Java从编程中执行此操作?

有帮助吗?

解决方案

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

这是链接 如何 实现这一目标。

另外,您需要一个使用Windows API的Java软件包,快速的Google搜索显示 这个. 。但是我确定还有更多访问注册表的方法。

其他提示

我认为您真的很想解决本地EXE中的不兼容性。兼容模式实际上是针对用户无法选择的应用程序。我无法告诉您,我浪费了几个小时来调试由用户意外地打开兼容模式引起的愚蠢行为 - 如果您有任何选择,最好避免使用它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top