Windows 命令显示超时的消息框?

注意:这是一个问题答案 ,以便logging其他人可能会觉得有用的技术,以便或许能够意识到别人的更好的解决scheme。 随意添加评论或问题作为评论。 也请随时添加额外的答案。 🙂


如何通过键入单个Windows命令来显示消息框 ,例如在开始”菜单的“运行”对话框中或[cmd.exe]命令解释程序中?

一种方法是使用明显没有记录的功能,即Windows的.hta HTML应用程序的运行时引擎[mshta.exe]接受一个通用的URL作为命令行参数,包括一个javascript: protocol URL:

 mshta "javascript:var sh=new ActiveXObject( 'WScript.Shell' ); sh.Popup( 'Message!', 10, 'Title!', 64 );close()" 

由此产生的消息框

这个命令可以在例如[cmd.exe]中发出,或者从开始菜单的运行对话框中,也许与schtasks命令结合来创建一个茶计时器…

上面的消息框超时10秒后,但指定0秒超时意味着“不要超时”,产生一个更普通的持久性消息框。

对于更简单的消息框,您可以使用MSHTA主机提供的alert功能。

在命令提示符下:

 msg %username% Message 

有趣的参数是:

 /w (wait for user) /time:<seconds> 

发现,如果您将Win7 Pro机器中的msg.exe复制到Win7 Home机器上,它就可以工作。 将msg.exe复制到C:\ Windows \ System32文件夹。

如果你用你想要显示的信息创建一个小的VBScript呢? 即创建e文件,命名为“Message.vbs”的内容:

MsgBox "Some info here", 0, "Message Title"

并像这样调用它:

cscript.exe PATH\Message.vbs