2011-01-28 14 views
-1

asp.netのクライアントマシンで実行可能ファイルを呼び出してリターンパラメータを取得する必要がありますが、例を探していましたが見つかりませんでした。JavaScriptのexeから返される値

これはJavaScriptの1つのexeから出力パラメータを回復することが可能ですか?

私はそれが私が書くことができます知っている:

するvar WshShell =新しいActiveXObjectを( "WScript.Shell"); var oExec = WshShell.Exec( "My.exe");

が、クライアントの実行を返す0または値iは事前に

感謝を収集する必要があるものです1

+1

ブラウザからクライアントファイルシステムを読み取ることができません。確かに.exeを起動することはできません。 .exeは何をしていますか?あなたは何を達成しようとしていますか? –

+0

@John Saundersは、WScript.Shellを実行するためにActiveXObjectをスクリプト化できませんか?私はそれが困難に満ちていることに同意し、何が必要なのかをより明確に説明するとより良い解決策が得られるはずです – Pharabus

+0

@Pharabus:そうです、それを解決策と呼ぶなら! –

答えて

3

ブラウザベースのJavaScriptはクライアント・マシン上で実行可能ファイルを呼び出すことはできません。そうすることは致命的なセキュリティ上の問題になるでしょう。クライアントマシンで実行可能ファイルを実行する必要がある場合は、プラットフォームに依存しないようにするには、.NETアプリケーション、ActiveXコントロール、またはJavaのようなものをインストールするようユーザーに依頼することを検討してください。

何をしようとしているかに応じて、クライアントマシンでEXEを実行する必要はありません。標準のクラウド型のシナリオ(クライアント上のJSまたはSilverLight、サーバー上のWebサービスまたはWCF)で多くのことを行うことができます。しかし、あなたの状況についての詳細な情報がなければ、それを伝えることは不可能です。

EDIT:あなたがActiveXObject.Execメソッドを使用している、あなたはそのメソッドが返すWshScriptExecオブジェクトのStdOutプロパティを使用することができ、あなたのコメントに基づいて。 MSDN's article on the StdOut property:

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

私は、Javaランタイムがブラウザ内からこれを行うことができるかどうかは完全にはわかりません。 – NotMe

+0

@Chris Lively:そうかもしれない。私はJavaだけでなく.NETも知らないが、それが許されないのであれば確かに意味があるだろう。 –

+0

もう一度、私はクライアントマシンで実行可能ファイルを呼び出す必要があるボタンを開発しています。これはユーザーによって検証され、それらを許可することに同意します...私はできます:var WshShell = new ActiveXObject( "WScript.Shell") ; var oExec = WshShell.Exec( "my.exe")しかし、私はそれによって返された結果を収集する必要があります... –

関連する問題