DOM拡張

IDocHostUIHandler::GetExternal() で 拡張した自分の IDispatchインターフェースを WebBrowserコントロール側に渡してやると、window.external を介してカスタムプロパティ、カスタムメソッドを追加できるようだ。


BHOがロードされた時にこの仕組みを実装してやることで、右クリックとの橋渡しができそう。


【BHOのロード時】IDocHostUIHandlerを拡張

【右クリック時】MenuExtに追加したスクリプトからwindow.external.xxxx()で拡張したメソッドを呼び出し

【BHO】IDispatchで呼び出されたメソッドを処理(印刷テンプレートを使った印刷)


のような感じでできそうな感触。


と思ったけどまだIDocHostUIHandlerを取得して拡張する方法がよくわかってない。もう少し調べないと・・・