使用JScript在WSH中提示对话框?

时间:2009-02-10 12:41:43

标签: prompt jscript wsh windows-scripting

如何在WSH usig JScript中打开提示对话框

我在doc中找到的唯一弹出对话框是WshShell.Popup()方法。但是我需要一种方法来请求用户输入一个字符串,比如DOM中的window.prompt()方法。

感谢。

2 个答案:

答案 0 :(得分:16)

我认为WScript对象不提供这样的方法,但是你可以在WSH上运行vbscript来显示输入框。所以这里有一个可能的解决方案,让你从JS中调用VB函数!请注意以下代码片段“.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>

答案 1 :(得分:11)

我知道这个问题已经得到解答,但我不想使用.wsf的东西,我也不想要加载Internet Explorer的开销(正如我见过的其他解决方案那样)。我发现使用谷歌的这个解决方案我认为是最优雅的:

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

关键是使用ActiveXObject“ScriptControl”,将语言设置为VBScript,然后使用ScriptObject.eval()函数。该网站上的示例独立存在。

编辑:对于那些遇到64位或换行等错误的人来说,这个改进的版本有关于如何运行它的说明(在Win7 x64等系统上)here