Windows [cmd.exe] command to display a messagebox with timeout? Windows [cmd.exe] command to display a messagebox with timeout? windows windows

Windows [cmd.exe] command to display a messagebox with timeout?


One way is to use apparently undocumented functionality, namely that [mshta.exe], the runtime engine for Windows .hta HTML applications, accepts a general URL as command line argument, including a javascript: protocol URL:

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

            The resulting messagebox

This command can be issued in e.g. [cmd.exe]], or e.g. in the Run dialog from the Start menu, perhaps combined with the schtasks command to create a tea-timer…

The above messagebox times out after 10 seconds, but specifying a 0 second timeout means “don’t time out”, producing a more ordinary persistent messagebox.

For a simpler messagebox you can instead use the alert function provided by the MSHTA host.


on command prompt:

msg %username% Message

interesting parameters are:

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


Found that if you copy msg.exe from a Win7 Pro machine to a Win7 Home machine it works. Copy msg.exe to and from the C:\Windows\System32 folder.