2009-08-14 69 views

回答

1

好吧。我找到了答案......

import java.io.*; 

public class Main { 

     public static void main(String args[]) { 

      try { 
       Runtime rt = Runtime.getRuntime(); 
       //Process pr = rt.exec("cmd /c dir"); 
       Process pr = rt.exec("c:\\helloworld.exe"); 

       BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream())); 

       String line=null; 

       while((line=input.readLine()) != null) { 
        System.out.println(line); 
       } 

       int exitVal = pr.waitFor(); 
       System.out.println("Exited with error code "+exitVal); 

      } catch(Exception e) { 
       System.out.println(e.toString()); 
       e.printStackTrace(); 
      } 
     } 
} 
1

你不能在客户端从服务器上的Web应用程序执行的可执行文件。如果可以,这将是非常糟糕的。

您也不能从AIR执行某些操作,因为它位于安全沙箱之外。但是,您可以从AIR2EXE应用程序如ShuairAveer这样做,但这会改变您的部署策略。

如果您不需要特定于AIR的API,则还可以使用SWF2EXE应用程序,如Screenweaver(开放源代码)或Zinc

+0

>>您无法通过服务器上的Web >>应用程序在客户端上执行可执行文件。如果可以,这将是非常糟糕的。 No no。 EXE将驻留并将在服务器上执行。 – Sri 2009-08-14 09:12:11

+0

啊,你提到Flex/AIR会让事情混淆不清。您发现的Java进程API是要走的路。 – 2009-08-14 10:55:30