現在ブラウザで表示している

http://project.hacca.jp/2006/09/post_264.html

「現在ブラウザで表示しているタイトルとURLを取得する」
SAORIのリクエストが出ています。


これ、ちょっと調べてみたけど、思いのほか難しいかも。
タイトルはすぐに取れるとして、問題はURLです。

IEはURLの部分がテキストウィンドウになってるし、IWebbrowserインタフェースも
あるしで、多分割と簡単に出来ると思うのですが。


問題は他のブラウザ。
FireFoxOperaも、URLの部分は別のウィンドウになってないです。
つまり、ブラウザ自身が自力でURLのテキストを描画してるわけで、IEのように
ひょいっと引っ掛けて取ってこれなさそう。


多分、COMインタフェースを使うしかないと思うのだけど…


FireFoxは、アクセシビリティAPI(テキスト読み上げソフトとか用のやつ)
経由でIAccessible取って、そこからQueryInterfaceして目的のインタフェースを
取る、とか何とか、なんとなくテはありそう、というところまでは分かりました。


それか、XPCOMのインタフェースを使えばきっと取れるのでしょう。
XPCOM自体を理解するのに1ヶ月かかりそうですが。


Operaに至っては調べるのも面倒(ぉ
どっちのブラウザも、その辺りの整理されたドキュメントが見つからないです。


でも、geturl.dllとかobu.dllとかのSAORIIE,NN,Mozilla対応とか書いてあるので
取ってこれるんだろうなあ、きっと。
どうやってるんでしょう。


それにしても、単にブラウザに対して「今表示してるURL教えて!」って言うだけの為に、
ブラウザ毎に異なるわけのわからない手続きを踏まないといけない、というのは
何か間違ってる気がします。


そんなもの、共通のWindowMessage一発投げれば教えてくれたっていいじゃないか。
それとも、もっと簡単な方法があるんでしょうか。