Skip to content

misohena/trayrun

Repository files navigation

TrayRun - Execute windows application under task tray

概要

Windowsアプリケーションをタスクトレイ(システムトレイ、通知領域)下で実行するプログラムです。

任意のプログラムをタスクトレイ化できます。

Node.jsで作成したコンソールアプリ(サーバ)をタスクトレイに常駐させるために作成しました。 タスクバーにコンソールウィンドウが出っぱなしだと鬱陶しいので。

動作仕様

  1. まずTrayRunのメインウィンドウを作成します。このウィンドウは見えません。
  2. 通知アイコンをタスクバーに追加します。この際ツールチップの文字列は /title オプションで、アイコンは /icon で指定出来ます。
  3. 目的のプログラムを起動します。起動するプログラムは /command オプションで指定出来ます。
  4. 起動したプログラムのウィンドウを探します。見つけたらそのウィンドウを隠します。
  5. タスクトレイのメニューでそのウィンドウを表示したり隠したり出来ます。
  6. 目的のプログラムが終了したらTrayRunも自動的に終了します。
  7. 先に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 をビルドしてください。

About

Execute windows application under task tray

Resources

Stars

Watchers

Forks

Packages

No packages published