- 254 名前:デフォルトの名無しさん [2006/08/29(火) 21:18:23 ]
- 多重起動時のウィンドウ制御について教えてください。
アプリを多重起動させようとしたときに、 既に同じアプリが動いてれば、何もさせずに、 起動済みのインスタンスをアクティブにして、 2つ目に起動したインスタンスは何もせずに終了させるという ロジックを組もうとしています。 インスタンスが起動済みかどうかは Process.GetProcessesByName などを使って判別することができ、 1つ目のインスタンスにPostMessageでWM_USERを送り、 自分自身でアクティブ化させるという方法をとったのですが、 問題なのは、このアプリが最小化されたときは、タスクバーから消して、 トレイに格納するようにしていることです。 タスクバーから、ウィンドウを消してしまうと、 たとえアプリが起動していても、2つ目のインスタンスから、 1つ目のインスタンスのMainWindowHandleを取得しようとしても 0しか返って来なくなるようで、PostMessageが使えない状態です。 2つ目のインスタンスに何かメッセージを送る方法はないでしょうか?
|

|