Note: This is a question-with-answer in order to document a technique that others might find useful, and in order to perhaps become aware of others’
on command prompt:
msg %username% Message
interesting parameters are:
/w (wait for user)
/time:<seconds>
What if you create a small VBScript with the message you want to display? I.e. create e file, named "Message.vbs" with the content:
MsgBox "Some info here", 0, "Message Title"
and call it like this:
cscript.exe PATH\Message.vbs
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()"
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.
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.