続:BHO

待宵月


引き続きBHO(Browser Helper Object)で苦戦してみる。


Internet Explorerの右クリックで出るコンテキストメニューに追加する方法は分かった。
Adding Entries to the Standard Context Menu


[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\

]
@="呼び出されるScriptファイル名"


ここではあくまでスクリプトを呼び出すことしかできないので、スクリプトからさらにロードされているBHOと通信する手段を用意しなければならない。さてどうしようか・・・


もっとこの辺とか、この辺とか読んで経験値を積んだほうがよさそうな感触。


Googleツールバーの場合、スクリプトの中からActiveXコントロールとして自分自身の機能を呼び出しているように見える。

<object id=gg align=top classid="clsid:00EF2092-6AC5-47c0-BD25-CF2D5D657FEB" width=1 height=1 border=0 vspace=0></object>
<script language="JavaScript" defer>

(中略)
try {
url = gg.Search(String(str));
bnewwindow = gg.OpenNewWindow();
} catch (ex) { }

(後略)

00EF2092-6AC5-47c0-BD25-CF2D5D657FEB は "Google Script Object"(googletoolbar2.dll)だ。


あとはBHO側でDOMを拡張して印刷用の専用オブジェクトを追加し、スクリプトからそれを呼び出すといった方法もできるかもしれない。
いずれにせよもうちょっと勉強が必要そうだ・・・