Windows [cmd.exe]命令显示带超时的消息框?

Che*_*Alf 14 windows command cmd messagebox windows-shell

注意:这是一个问题的答案,以便记录其他人可能觉得有用的技术,以便可能意识到其他人更好的解决方案.请随意添加批评或问题作为评论.也可以随意添加其他答案.:)


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

Che*_*Alf 27

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

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

            生成的消息框

此命令可以在例如[cmd.exe]]中发出,或者例如在"开始"菜单的"运行"对话框中发出,也可以与schtasks创建茶具的命令结合使用...

上述消息框在10秒后超时,但指定0秒超时意味着"不要超时",从而产生更普通的持久消息框.

对于更简单的消息框,您可以改为使用alertMSHTA主机提供的功能.

  • 那么`mshta "javascript:alert('Message!');"` 也应该可以工作 (2认同)

Ste*_*han 7

在命令提示符下:

msg %username% Message
Run Code Online (Sandbox Code Playgroud)

有趣的参数是:

/w        (wait for user) 
/time:<seconds>
Run Code Online (Sandbox Code Playgroud)