2011-01-28 93 views
-1

我必須在客戶機中調用asp.net中的可執行文件並獲取返回參數,我一直在尋找一個示例,但找不到它。從javascript中返回值在javascript中

它有可能從JavaScript中恢復一個exe的輸出參數嗎?

我知道我可以寫:

VAR的WshShell =新的ActiveXObject( 「WScript.Shell」); var oExec = WshShell.Exec(「My.exe」);

但是客戶端可執行文件返回0或1,價值觀是我需要收集提前

感謝那些

+1

您無法從瀏覽器讀取客戶端文件系統。你當然不能啓動一個.exe。什麼是.exe在做什麼?你想達到什麼目的? – 2011-01-28 19:51:19

+0

@John Saunders你不能腳本ActiveXObject來運行WScript.Shell?我同意它充滿困難,不應該這樣做,也許更清楚地描述所需要的將提供更好的解決方案 – Pharabus 2011-01-28 19:56:16

回答

3

基於瀏覽器的JavaScript不能調用客戶機上的可執行文件;這樣做會是一個災難性的安全問題。如果您必須在客戶端計算機上運行可執行文件,請考慮要求用戶安裝.NET應用程序,ActiveX控件或類似Java的某個平臺,如果您想獨立於平臺。

根據您要做的事情,您可能不需要在客戶機上運行EXE;您可以使用標準雲類型場景(客戶端上的JS或SilverLight,服務器上的Web服務或WCF)執行LOT操作。如果沒有關於你的情況的更多信息,那就不可能說出來。

編輯:根據您的意見,您使用的ActiveXObject.Exec方法,您可以使用WshScriptExec對象方法返回的StdOut財產。 From MSDN's article on the StdOut property:

 if (!oExec.StdOut.AtEndOfStream) 
     { 
      input += oExec.StdOut.Read(1); 
      //... 
     }