Как я могу запустить локальное приложение Windows и получить вывод в браузере - PullRequest
6 голосов
/ 26 апреля 2010

У меня есть приложение Windows (файл .EXE, написанный на C и созданный с помощью MS-Visual Studio), который выводит текст ASCII в стандартный вывод. Я хочу улучшить текст ASCII, включив в него ограниченный HTML с несколькими ссылками. Я хотел бы вызвать это приложение (.EXE-файл), взять выходные данные этого приложения и направить их в браузер. Это не единичный случай, каждая новая веб-страница была бы очередным запуском локального приложения!

Приложение HTML / java-script, приведенное ниже, сработало для меня, чтобы выполнить приложение, но вывод поступил в окна DOS Box, а не направлять его в браузер. Я хотел бы обновить это приложение 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>

Ответы [ 4 ]

2 голосов
/ 26 апреля 2010

Это называется CGI

2 голосов
/ 26 апреля 2010

Вы уже используете 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>
2 голосов
/ 26 апреля 2010
  1. Пусть исполняемый файл прослушивает порт, следуя протоколу HTTP.
  2. Затем веб-страница отправляет HTTP-запросы в стиле AJAX на локальный порт с помощью JAvascript.
  3. Исполняемый файл возвращает текст.
  4. Веб-страница обновляется через манипуляцию DOM в Javascript.

Да, это работает. Это происходит в 5 футах от меня прямо сейчас в другой кабине.

0 голосов
/ 26 апреля 2010

Было бы проще, чтобы ваш EXE-файл создал временный файл, содержащий HTML, а затем просто сказал бы Windows открыть временный HTML-файл в браузере.

...