Java Exec在错误的计算机上运行程序?

Java Exec在错误的计算机上运行程序?,java,exec,exe,runtime.exec,Java,Exec,Exe,Runtime.exec,我想运行一个.exe,但当我尝试从另一台计算机运行exec代码时,它只在服务器计算机上运行。例如,我单击了在我的计算机上运行program.exe的链接,但它最终弹出并仅在服务器计算机上运行 仅供参考,运行此代码的每台机器都将安装此程序 try { Process p = Runtime.getRuntime().exec("C:\\program.exe"); p.waitFor(); System.out.println(p.exitV

我想运行一个.exe,但当我尝试从另一台计算机运行exec代码时,它只在服务器计算机上运行。例如,我单击了在我的计算机上运行program.exe的链接,但它最终弹出并仅在服务器计算机上运行

仅供参考,运行此代码的每台机器都将安装此程序

    try {
        Process p = Runtime.getRuntime().exec("C:\\program.exe");
        p.waitFor();
        System.out.println(p.exitValue());
    } catch (Exception err) {
        err.printStackTrace();
    }

我知道这可能与exec向服务器计算机发送命令有关,但我仍然不确定如何实现这一点

您需要使用psexec。SYSInternals提供的PSEXEC非常适合在远程计算机上远程执行exe。你也可以把它放在你的c代码里

用于在远程pc上运行的psexec的语法为:

psexec \\ComputerName1 "\\unc_path\share\test.exe" -i

您还可以指定一些参数,例如交互模式和用户帐户-顺便说一句,我是交互式的。

我最终使用了一个签名的Java小程序来运行exec代码。工作起来很有魅力。

小程序在哪里运行?在浏览器中还是在服务器中?在浏览器中,它位于网站上。看起来它正在正确的计算机上运行--即,您告诉它运行它的计算机。假定服务器/计算机位于同一网络上,并且windows网络未在某处被防火墙隔离。。。