Диалоговое окно приглашения в WSH с помощью JScript?

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

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

спасибо.

2 ответов


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

<!-- 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>

Я знаю, что на этот вопрос был дан ответ, но я бы не хотел использовать его .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) здесь.