Windowsアプリケーションをタスクトレイ(システムトレイ、通知領域)下で実行するプログラムです。
任意のプログラムをタスクトレイ化できます。
Node.jsで作成したコンソールアプリ(サーバ)をタスクトレイに常駐させるために作成しました。 タスクバーにコンソールウィンドウが出っぱなしだと鬱陶しいので。
- まずTrayRunのメインウィンドウを作成します。このウィンドウは見えません。
- 通知アイコンをタスクバーに追加します。この際ツールチップの文字列は /title オプションで、アイコンは /icon で指定出来ます。
- 目的のプログラムを起動します。起動するプログラムは /command オプションで指定出来ます。
- 起動したプログラムのウィンドウを探します。見つけたらそのウィンドウを隠します。
- タスクトレイのメニューでそのウィンドウを表示したり隠したり出来ます。
- 目的のプログラムが終了したらTrayRunも自動的に終了します。
- 先にTrayRunを終了させた場合、そのウィンドウを表示状態にしてからWM_CLOSEを送信します。コンソールアプリケーションならたいていこれで終了しますが、GUIアプリケーションの場合は保存等の操作が必要になるかもしれません。
trayrun /c "npm.cmd start" /title "Awesome Server" /icon app.ico
trayrun /c "notepad" /title "Background Notepad"
trayrun /c "cmd" /title "Command Console"
- /c <string>, /cmd <string>, /command <string>
- 実行するプログラムのコマンドライン。CreateProcessの第二引数に渡される文字列。第一引数はNULL
- /title <string>
- 通知アイコンのTip文字列。デフォルトは”TrayRun”
- /icon <string>
- アイコンファイルへのパス。デフォルトは適当なアイコン
Visual Studio 2019で trayrun.sln をビルドしてください。