如何在WSH usig JScript中打开提示对话框
我在doc中找到的唯一弹出对话框是WshShell.Popup()方法。但是我需要一种方法来请求用户输入一个字符串,比如DOM中的window.prompt()方法。
感谢。
答案 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。