Подтвердить что ты не робот

Диалоговое окно подсказки в WSH с использованием JScript?

Как открыть диалоговое окно приглашения в WSH usig JScript??

Единственным всплывающим диалоговым окном, которое я нашел в документе, является метод WshShell.Popup(). Но мне нужен способ запросить пользователя ввести строку, например метод window.prompt() в DOM.

Спасибо.

4b9b3361

Ответ 1

Я думаю, что объект WScript не предоставляет такой метод, однако вы можете показать окно ввода из vbscript, запущенного на WSH. Итак, вот одно возможное решение, которое позволяет вам называть эту функцию VB внутри JS! Обратите внимание на расширение файла для следующего фрагмента кода ".wsf".

<!-- Test.wsf -->
<job id="InputBoxInJS">
   <script language="VBScript">
      Function VBInputBox(promptText)
        VBInputBox = InputBox(promptText)
      End Function
   </script>

   <script language="JScript">
      WScript.Echo("Hello from JScript")
      var x = VBInputBox("Enter text")
      WScript.Echo(x)
   </script>
</job>

Ответ 2

Я знаю, что на этот вопрос был дан ответ, но я бы не хотел использовать материал .wsf, и я также не хотел бы накладных расходов на загрузку Internet Explorer (как я видел, другие решения делают). Я нашел это решение с помощью Google, что я считаю самым элегантным:

http://with-love-from-siberia.blogspot.com/2009/12/msgbox-inputbox-in-jscript.html

Ключ использует ActiveXObject "ScriptControl", устанавливая язык в VBScript, а затем используя функцию ScriptObject.eval(). Пример на сайте стоит сам по себе.

EDIT: для тех, кто сталкивается с ошибкой с 64-разрядным или линейным фидом и т.д., там появилась улучшенная версия с инструкциями о том, как ее запускать (в таких системах, как Win7 x64) здесь.