如何运行本地Windows应用程序,并将输出传送到浏览器中

我有Windows应用程序(.EXE文件是用C编写的,并用MS-Visual Studio构build的),它输出ASCII文本到标准输出。 我正在寻找增强的ASCII文本,包括有限的HTML几个链接。 我想调用这个应用程序(.EXE文件),并采取该应用程序的输出,并将其pipe道浏览器。 这不是一次性的事情,每个新的网页将是另一个本地应用程序的运行!

下面的HTML / java脚本应用程序已经为我执行应用程序,但输出已经进入了一个DOS窗口,而不是pipe它进入浏览器。 我想更新这个HTML应用程序,以使浏览器捕获该文本(这是增强的HTML),并显示在浏览器中。

<body> <script> function go() { w = new ActiveXObject("WScript.Shell"); w.run('C:/DL/Browser/mk_html.exe'); return true; } </script> <form> Run My Application (Window with explorer only) <input type="button" value="Go" onClick="return go()"> </FORM> </body> 

  1. 让可执行程序在HTTP协议之后的端口上侦听。
  2. 然后让Web页面使用JAvascript将AJAX样式的HTTP请求发送到本地端口。
  3. 可执行文件返回文本。
  4. 网页通过Javascript中的DOM操作更新自己。

是的,这个工作。 现在在另一个房间里,正在离我5英尺的地方。

这就是所谓的CGI

您已经使用WScript启动,它也可以读取StdOut 。

 <html> <head> <script type="text/javascript"> function foo() { var WshShell = new ActiveXObject("WScript.Shell"); var oExec = WshShell.Exec("ipconfig.exe"); var input = ""; while (!oExec.StdOut.AtEndOfStream) { input += oExec.StdOut.ReadLine() + "<br />"; } if (input) document.getElementById("plop").innerHTML = input; } </script> </head> <body onload="foo();"> <code id="plop"></code> </body> </html> 

让您的EXE创建一个包含HTML的临时文件会更容易,然后告诉Windows在浏览器中打开临时HTML文件。