Подскажите диалог в WSH используя JScript? - PullRequest
12 голосов
/ 10 февраля 2009

Как открыть диалоговое окно с приглашением в WSH с помощью JScript ??

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

Спасибо.

Ответы [ 2 ]

16 голосов
/ 10 февраля 2009

Я думаю, что объект 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>
11 голосов
/ 08 января 2012

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

http://with -love-from-siberia.blogspot.com / 2009/12 / MsgBox-InputBox-в-jscript.html

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

РЕДАКТИРОВАТЬ: Для тех, кто сталкивается с ошибкой с 64-разрядным или переводом строки и т. Д., Есть эта улучшенная версия с инструкциями по ее запуску (в таких системах, как Win7 x64) здесь .

...