nsdviewで

既にウィンドウが開いている時に新しくnsdをエクスプローラ等からダブルクリック(あらかじめ関連付けてあるものとする)で開こうとすると
開いてあるウィンドウの方でnsdファイルを読み込むという処理をやりたかったわけですが。
なんか調べてみても(Googleですが)資料が全然出てこないし、
やっと見つけてもバカみたいに長いソース(しかも何が起こってるのかよくわからない)だったりして困ってます。
一応そのバカみたいに長いソースを使ってみて成功はしたんですが、
プロジェクトの方から実行して閉じるボタンを押すとプロジェクトを巻き込んで終了する(しかもセーブしてなくても問答無用で終了する)
という現象が起こって原因も掴めないので泣く泣く削除。
てかゲイツはこんなにも普通に使う(と思われる)機能をなんでこんなにもややこしいやり方でしか実装できないようにしてるんだろうか?
それとも俺の調べ方が足りずに実はもっと簡単なやり方があるのに見落としているだけだろうか?

ちなみに見つけたやり方のおおまかな流れ。
1.ウィンドウA
実行する→サブクラス化(よくわからない)によってメッセージを受信できる状態にする→普通に動かす
2.ウィンドウB(新規)
実行する→既に実行されていないか確認→確認後、実行されていたら既に開いているウィンドウのハンドルを何とかして取得→ハンドルを取得できたらPostMessage APIを使って送信→送信後終了
3.メッセージの受信
受信する→受信した情報を読み込む処理を行う→読み込み完了
4.終了時の処理
終了の要求を受け取る→サブクラス化を解除(やっぱりよくわからない)→終了

参考にしたソースの場所がちょっとわからなくなってしまったので合ってるかわかりませんが多分こんな流れだったと思います。
つーかマジでもっと簡単な方法ありませんか?(泣
ゲイツさんは本当にやる気があるのかと問い詰めたいところであります。ChangeDisplaySettingのWin9xでのバグとか直らないし。


とこれを書いていたら自分なりに思うところがあったので後で実験してみようかと。
何かアドバイス等ある方は言っていただけるとありがたいです。。。