Necesitaba algo similar a esto hoy. Como no pude encontrar una solución de dependencia externa que me gustó ya que realmente no soy fanático de VBScript / Powershell, seguí adelante y escribí una:
https://github.com/cubiclesoft/messagebox-windows
Los cuadros de mensaje que produce son modales a la ventana de consola actual. Es decir, el usuario no puede hacer nada hasta que cierre el diálogo. Además, el código de retorno de la MessageBox()
llamada se devuelve a la persona que llama para que un script pueda reaccionar a cualquier botón que se haya presionado. Y, por supuesto, es compatible con la gama completa de opciones para la MessageBox()
API Win32.
Agregar un ejecutable de 80 KB a la mezcla podría no ser la taza de té de todos. Sin embargo, está estáticamente vinculado con el tiempo de ejecución de VC ++ y es compatible con Unicode, lo que explica por qué el archivo es tan grande dada la naturaleza minimalista de lo que hace. Y hay un problema menor de no poder pasar fácilmente nuevas líneas desde la línea de comandos para mostrar mensajes de varias líneas. Por otro lado, muestra el diálogo en menos tiempo de reloj de pared que cualquiera de las otras soluciones presentadas hasta ahora.
Por supuesto, si el tamaño del archivo no importa y los cuadros de diálogo crean una experiencia de usuario demasiado "directa" y / o no requieren la interacción del usuario, también me encontré con este ingenioso proyecto:
https://www.paralint.com/projects/notifu/
Que muestra un globo emergente en el área de notificación de estado de la pantalla usando IUserNotification . La desventaja es que el ejecutable de Notifu corre apenas 240KB. Otro ejemplo desafortunado de que COM crea una hinchazón innecesaria y me hace desear que haya una API simple y liviana para la función.
Para algo multiplataforma, hay zenity. Es principalmente para Linux, pero también hay puertos para Mac y Windows. El puerto zenity de Windows tiene un tamaño superior a 1 MB porque, bueno, GTK está bastante hinchado.
msg
comando. Es posible que no lo tenga si está ejecutando una edición Home de Windows, pero puede agregarlo simplemente copiando y pegando msg.exe desde una instalación Pro.