2009-08-14 68 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