Bugün buna benzer bir şeye ihtiyacım vardı. Gerçekten VBScript / Powershell hayranı olmadığım için sevdiğim harici bir bağımlılık çözümü bulamadığım için, devam ettim ve bir tane yazdım:
https://github.com/cubiclesoft/messagebox-windows
Ürettiği mesaj kutular kalıcı akım konsol penceresine. Yani, kullanıcı iletişim kutusunu kapatana kadar hiçbir şey yapamaz. Ayrıca, MessageBox()
bir komut dosyasının hangi düğmeye basıldığında tepki verebilmesi için çağrıdaki dönüş kodu arayana döndürülür. Ve elbette, MessageBox()
Win32 API için tüm seçenekleri destekler .
Karışıma 80KB yürütülebilir dosyası eklemek herkesin çayı olmayabilir. Yine de statik olarak VC ++ çalışma zamanına bağlı ve Unicode'u destekliyor, bu da dosyanın yaptığı şeyin minimalist doğası göz önüne alındığında neden bu kadar büyük olduğunu açıklıyor. Ve çok satırlı iletileri görüntülemek için komut satırından kolayca yeni satırlara geçememe gibi küçük bir sorun var. Küçük bir ters tarafta, iletişim kutusunu şimdiye kadar sunulan diğer çözümlerden daha az duvar saati zamanında görüntüler.
Tabii ki, dosya boyutu önemli değilse ve iletişim kutuları çok "yüzünüzde" bir kullanıcı deneyimi yaratıyorsa ve / veya kullanıcı etkileşimi gerektirmiyorsa, ben de bu şık projeye rastladım:
https://www.paralint.com/projects/notifu/
Bu, IUserNotification kullanarak ekranın durum bildirim alanında bir açılır pencere balonu görüntüler . Dezavantajı, Notifu yürütülebilir 240KB sadece utangaç çalışır. COM'un gereksiz şişkinlik yarattığı ve bana özellik için basit ve hafif bir API olmasını isteyen bir talihsiz örnek.
Platformlar arası bir şey için zenity var. Çoğunlukla Linux için ama Mac ve Windows bağlantı noktaları da var. Windows Zenity bağlantı noktasının boyutu 1MB'ın üzerindedir, çünkü GTK oldukça şişirilmiştir.
msg
Komuta bak . Windows'un bir Home sürümünü çalıştırıyorsanız bu olmayabilir, ancak yalnızca bir Pro kurulumundan msg.exe dosyasını kopyalayıp yapıştırarak ekleyebilirsiniz.