在更新到 java 7 之前,我可以使用此代码从小程序启动应用程序。
public class RIS extends Applet
{
public void init()
{
String rutamedical = getParameter("dir");
String parametro = getParameter("id");
Runtime app = Runtime.getRuntime();
try {
app.exec(rutamedical + " " + parametro);
} catch (Exception e) {
JFrame ventana = new JFrame("Prueba JDialog");
JOptionPane.showMessageDialog(ventana, "Problema al ejecutar la aplicacion");
}
}
}
昨天,我从 Win 8 和 Java 7 尝试了它,它抛出了一个异常。它不起作用。如果我在 Win 8 和 Java 6 上尝试它,它可以工作,并且在 Win 7 和 Java 7 上也可以工作。
关于会发生什么的任何想法或建议?
我得到了这个例外:
'Cannot run program "H:\Program": CreateProcess error = 2,' System can't find the specified file.
路径将是:
H:\Program Files (x86)\VM MEDICAL WORKSTATION\CONEXIONRIS\Conexion Ris.exe
..但似乎没有找到它,但是使用 Java 6 我没有任何麻烦。
更新
@AndrewThompson 这是我用来启动小程序的 HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<title>Paso de variables Javascript entre páginas</title>
<script language="javascript">
function gup( name ){
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp ( regexS );
var tmpURL = window.location.href;
var results = regex.exec( tmpURL );
if( results == null )
return"";
else
return results[1];
}
function kill(variable){
var idx = variable.toString().indexOf("%20");
while (idx != -1) {
variable = variable.toString().replace("%20"," ");
idx = variable.toString().indexOf("%20", idx);
}
return variable;
}
</script>
</head>
<body>
<script language="javascript">
document.write("<APPLET CODE='appletris.RIS' ARCHIVE='applets/AppletRIS.jar' width=0 height=0>");
var dir = gup( 'dir' );
dir = kill(dir);
alert("Alerta html:" + dir)
document.write("<PARAM NAME='dir' VALUE='"+dir+"'>");
var id = gup( 'id' );
id = kill(id);
document.write("<PARAM NAME='id' VALUE='"+id+"'>");
</script>
</body>
</html>
我需要从客户端机器中的小程序运行下一条路径中的应用程序:
D:\Program Files (x86)\VM MEDICAL WORKSTATION\CONEXIONRIS\Conexion Ris.exe
但它似乎有空格的问题。“dir”是我必须启动的应用程序的路径 --> 它存储在 BD 上。我无法向您发布更多异常信息,因为使用此小程序我无法看到 java 控制台。
以其他方式可能很容易做到,但我没有太多时间来开发其他东西,而且我知道它违反了允许从小程序运行和“* .exe”的安全规则。