・多重起動のチェックと通知には名前付きイベント(.NET 2.0 なら EventWaitHandle)使えば楽
・ウィンドウの処理はむしろ通知を受けた側が行う