Avevo bisogno di qualcosa di simile oggi. Dal momento che non riuscivo a trovare una soluzione di dipendenza esterna che mi piaceva poiché non sono un vero fan di VBScript / Powershell, sono andato avanti e ne ho scritto uno:
https://github.com/cubiclesoft/messagebox-windows
Le finestre di messaggio che produce sono modali alla finestra della console corrente. Cioè, l'utente non può fare nulla fino a quando non chiude la finestra di dialogo. Inoltre, il codice di ritorno dalla MessageBox()
chiamata viene restituito al chiamante in modo che uno script possa reagire a qualunque pulsante sia stato premuto. E, ovviamente, supporta l'intera gamma di opzioni per l' MessageBox()
API Win32.
L'aggiunta di un eseguibile da 80 KB al mix potrebbe non essere la tazza di tè di tutti. Tuttavia, è staticamente collegato al runtime VC ++ e supporta Unicode, il che spiega perché il file è così grande data la natura minimalista di ciò che fa. E c'è un piccolo problema di non riuscire a passare facilmente le nuove righe dalla riga di comando per visualizzare messaggi multilinea. Su un lato positivo minore, visualizza la finestra di dialogo in meno tempo di clock rispetto a qualsiasi altra soluzione presentata finora.
Naturalmente, se le dimensioni del file non contano e le finestre di dialogo creano un'esperienza utente troppo "in faccia" e / o non richiedono l'interazione dell'utente, mi sono imbattuto in questo elegante progetto:
https://www.paralint.com/projects/notifu/
Che visualizza un fumetto popup nell'area di notifica dello stato dello schermo utilizzando IUserNotification . Il rovescio della medaglia è che l'eseguibile di Notifu funziona a meno di 240 KB. Un altro sfortunato esempio che COM crea un gonfiamento inutile e mi fa desiderare che ci sia un'API semplice e leggera per la funzionalità.
Per qualcosa di multipiattaforma, c'è zenità. È principalmente per Linux ma ci sono anche porte per Mac e Windows. La porta di zenity di Windows ha dimensioni superiori a 1 MB perché, beh, GTK è piuttosto gonfio.
msg
comando. Potresti non averlo se stai eseguendo un'edizione Home di Windows, ma puoi aggiungerlo semplicemente copiando e incollando msg.exe da un'installazione Pro.