今日はこれに似たものが必要でした。私はVBScript / Powershellのファンではないので、好きな外部依存関係ソリューションを見つけることができなかったので、先に進んで1つ作成しました。
https://github.com/cubiclesoft/messagebox-windows
生成されるメッセージボックスは、現在のコンソールウィンドウにモーダルです。つまり、ユーザーはダイアログを閉じるまで何もできません。また、MessageBox()
呼び出しからの戻りコードが呼び出し元に返されるため、スクリプトはどのボタンが押された場合でも反応できます。そしてもちろん、MessageBox()
Win32 APIのすべてのオプションをサポートしています。
80KBの実行可能ファイルをミックスに追加しても、すべての人のお茶になるとは限りません。ただし、VC ++ランタイムに対して静的にリンクされ、Unicodeをサポートしています。これにより、ファイルの機能が最小限であるという理由でファイルが非常に大きい理由が説明されます。また、コマンドラインから改行を簡単に渡して複数行のメッセージを表示できないという小さな問題があります。マイナーな利点として、これまでに提示された他のどのソリューションよりも短い時計時間でダイアログが表示されます。
もちろん、ファイルサイズが問題ではなく、ダイアログがあまりにも「目の前」のユーザーエクスペリエンスを作成したり、ユーザーの操作を必要としない場合は、この気の利いたプロジェクトにも遭遇しました。
https://www.paralint.com/projects/notifu/
IUserNotificationを使用して、画面のステータス通知領域にポップアップバルーンを表示します。不利な点は、Notifu実行可能ファイルが240KBほど実行されないことです。COMが不必要な肥大化を引き起こし、その機能のためのシンプルで軽量なAPIがあったことを願って別の残念な例を残しました。
クロスプラットフォームの何かには、天才があります。これは主にLinux用ですが、MacとWindowsのポートもあります。Windowsのzenityのポートは、サイズが1MBを超えています。GTKはかなり肥大化しているからです。
msg
コマンドを。WindowsのHomeエディションを実行している場合はそれがないかもしれませんが、Proインストールからmsg.exeをコピーして貼り付けるだけで追加できます。