如何从命令行在 Win-7 或 win-10 上显示一个对话框 5 秒?

如何从命令行在 Win-7 或 win-10 上显示一个对话框 5 秒?

在这里搜索时,我在另一个问题上看到了这段代码:

(echo MsgBox "Line 1" ^& vbCrLf ^& "Line 2",262192, "Title")> File.vbs
start File.vbs

它对我有用。我的问题是,它希望用户单击“确定”按钮来关闭。我希望它在 5 秒或 10 秒(或任何预定的秒数)后自动关闭。

我搜索了“vbs”“关闭窗口”等几种变体,但一无所获。有什么方法可以实现我的这个目的吗?

答案1

假如说:

  1. 您不想知道窗口是否超时
  2. 你不想知道用户点击了哪个按钮
  3. 您不介意写出一个临时的 VBScript 文件来生成弹出窗口(然后将其删除)

然后使用以下命令:

echo WScript.CreateObject("Wscript.Shell").Popup "Line 1" ^& vbCrLf ^& "Line 2", 10, "Title", 262192 > %temp%\File.vbs
wscript %temp%\File.vbs
del /f %temp%\File.vbs

这将导致出现一个弹出窗口,其中包含两行内容(“第 1 行”和“第 2 行”)、标题“标题”、感叹号图标、确定按钮和 10 秒的超时时间。

有关如何配置此窗口的更多详细信息,请参阅弹出窗口命令。

48值得注意的是,您可以使用而不是 262192(从技术上讲,这不是有效的数字选项)来实现感叹号和“确定”按钮。

答案2

创建一个调用 Windows Script Host popup() 方法的 .vbs 脚本。该方法有一个参数,用于确定弹出消息窗口的显示时间。然后使用“wscript your_script.vbs”从命令行调用您的脚本。

仅供参考,有大量报告称 popup() 方法计时不稳定,甚至根本无法超时,尤其是超时值较大时。

相关内容