【问题标题】:exe from java can not be run correctly来自java的exe无法正确运行
【发布时间】:2014-02-20 10:54:08
【问题描述】:

我正在尝试从我的 java 文件中运行 .exe 文件。 如果我通过双击手动运行这个.exe 控制台程序,它会做它应该做的一切。 如果我使用这个从我的 .jar 文件运行它:

ProcessBuilder x = new ProcessBuilder("\"" + myLocation + "\\1.exe\"");
                    x.start();

它运行一个标题为 C:\user\Josh\1.exe 的 cmd 窗口,但它什么也不做。它没有做这个 .exe 文件应该做的任何事情。

此控制台窗口中的所有内容都是:

Microsoft Windows 版权……等等。

只是运行 cmd.exe 时出现的典型情况

我真的很绝望,请帮助。我试着用这个来做:

Process xx = Runtime.getRuntime().exec(aa); 

其中 aa 是文件的位置,但它做同样的事情。

【问题讨论】:

  • 当您尝试直接从 cmd 控制台运行 1.exe 时会发生什么?
  • 我刚刚发现,创建新进程也有问题,因为 1:exe 需要管理权限。如何运行?(当然用户必须在无人机中确认这个程序)
  • @acbabis:它可以从控制台正确运行,也可以使用双击
  • 尝试右键单击 JAR 并以管理员身份运行。
  • 无法通过右键以管理员身份运行 JAR。只有JVM:/

标签: java cmd


【解决方案1】:

我相信this SO 可能会有所帮助。如果未刷新其输出,某些进程将无法正确进行。

【讨论】:

    【解决方案2】:

    使用 Runtime.exec().... 不幸解决了:(

    String myCommandString = "cmd /C start " + myLoc + "\1.exe"; 进程 xx = Runtime.getRuntime().exec(myCommandString);

    它还以管理员权限运行 1.exe...我的意思是它要求它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多