在javascript中从exe返回值

时间:2011-01-28 19:11:44

标签: asp.net scripting javascript

我必须在asp.net的客户端机器中调用可执行文件并获取返回参数,我一直在寻找一个例子,但我找不到它。

这可以从JavaScript中的一个exe恢复输出参数吗?

我知道我可以写:

var WshShell = new ActiveXObject(“WScript.Shell”); var oExec = WshShell.Exec(“My.exe”);

但是客户端可执行文件返回0或1,表示值是我需要收集的值

提前致谢

1 个答案:

答案 0 :(得分:3)

基于浏览器的JavaScript无法在客户端计算机上调用可执行文件;这样做将是一个灾难性的安全问题。如果必须在客户端计算机上运行可执行文件,请考虑要求用户安装.NET应用程序,ActiveX控件或类似Java的内容,如果您希望与平台无关。

根据您要执行的操作,您可能不需要在客户端计算机上运行EXE;您可以使用标准的云类型场景(客户端上的JS或SilverLight,服务器上的Web服务或WCF)进行操作。但是,如果没有关于您的情况的更多信息,则无法分辨。

编辑:根据您使用ActiveXObject.Exec方法的评论,您可以使用方法返回的StdOut对象的WshScriptExec属性。来自MSDN's article on the StdOut property:

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