Potrzebowałem dziś czegoś podobnego do tego. Ponieważ nie mogłem znaleźć zewnętrznego rozwiązania zależności, które mi się podobało, ponieważ tak naprawdę nie jestem fanem VBScript / Powershell, napisałem jedno:
https://github.com/cubiclesoft/messagebox-windows
Wyświetlane przez nią okna komunikatów są modalne do bieżącego okna konsoli. Oznacza to, że użytkownik nie może nic zrobić, dopóki nie zamknie okna dialogowego. Ponadto kod powrotu z MessageBox()
połączenia jest zwracany do osoby dzwoniącej, aby skrypt mógł zareagować na naciśnięcie dowolnego przycisku. I, oczywiście, obsługuje pełny zakres opcji dla MessageBox()
API Win32.
Dodanie pliku wykonywalnego o rozmiarze 80 KB może nie być filiżanką herbaty dla wszystkich. Jest jednak statycznie powiązany z środowiskiem wykonawczym VC ++ i obsługuje Unicode, co wyjaśnia, dlaczego plik jest tak duży, biorąc pod uwagę minimalistyczny charakter tego, co robi. Jest też drobny problem polegający na tym, że nie można łatwo przekazać nowych wierszy z wiersza polecenia, aby wyświetlić wiadomości wielowierszowe. Niewielką zaletą jest to, że wyświetla okno dialogowe w krótszym czasie na zegarze ściennym niż w przypadku innych prezentowanych dotychczas rozwiązań.
Oczywiście, jeśli rozmiar pliku nie ma znaczenia, a okna dialogowe tworzą zbyt proste wrażenia użytkownika i / lub nie wymagają interakcji użytkownika, wpadłem również na ten fajny projekt:
https://www.paralint.com/projects/notifu/
Który wyświetla dymek podręczny w obszarze powiadomień o stanie na ekranie przy użyciu IUserNotification . Minusem jest to, że plik wykonywalny Notifu działa po prostu o wartości 240 KB. Kolejny niefortunny przykład, że COM powoduje niepotrzebne wzdęcia i sprawia, że życzę sobie, aby dla tej funkcji istniał prosty, lekki interfejs API.
Dla czegoś wieloplatformowego jest zenity. Dotyczy to głównie Linuksa, ale są też porty Mac i Windows. Port zenity systemu Windows ma rozmiar ponad 1 MB, ponieważ cóż, GTK jest dość rozdęty.
msg
polecenie. Możesz go nie mieć, jeśli używasz domowej wersji systemu Windows, ale możesz go dodać, po prostu kopiując i wklejając msg.exe z instalacji Pro.