IE7 で Shell と IE が分離されました。(その2)
今まで (IE6) は、Shell.ApplicationのWindows().Item() で、現在または最後にアクティブな IE が捕捉できましたが、それができなくなりました。:-(
Shell.ApplicationのWindows().Item() で捕捉できるのは、現在または最後にアクティブな Shell だけです。
それを利用していたスクリプト類は、全滅です。:-(
で、その対処法ですが、難しそうですね。駄目っぽい。
「現に」アクティブな IE の場合には、
Set ie=CreateObject("Shell.Application").Windows().Item()
を
Set Shell=CreateObject("Shell.Application")
For Each ie In Shell.Windows()
If TypeName(ie.Document)="HTMLDocument" Then If ie.Document.hasFocus() Then Exit For
Next
に変えます。
ただし、フォーカスを Web ページ部分に置いておく必要があります。
もし、フォーカスが外れてると、見つけ損ないます。
HTA スクリプトは、フォーカスを奪うので、この手は使えません。
「最後にアクティブ」の部分は、打つ手なし、です。
今まで (IE6) は、これを利用して、ブックマークレットっぽいことが出来ましたが、IE7 ではもう無理みたい。
これからは、コンテキストメニュー拡張でやるしかないかなぁ~。
« IE7 で Shell と IE が分離されました。 | トップページ | IE7 で Shell と IE が分離されました。(その3) »