IWebBrowserなどから、ウインドウの表示状態を知りたい – プログラミング – Home

IWebBrowserなどから、ウイン...
 
通知
すべてクリア

IWebBrowserなどから、ウインドウの表示状態を知りたい


たっく
 たっく
(@たっく)
ゲスト
結合: 22年前
投稿: 16
Topic starter  

お世話になっております。

現在開いているIEで、どのエクスプローラーバーが表示されているか、
または、表示されていないか。
表示されているとしたら、どのエクスプローラーバーなのか。
ツールバーは表示されているか、などの情報を取得したいのですが、

そのような情報を IWebBrowser などから取得することは可能でしょうか?

開発環境は VisualStudio 2003 です。
よろしくお願いします。


引用解決済
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

標準的なメニューバー、アドレスバー、ツールバー、ステータスバーであれば、それぞれ
IWebBrowser2::get_MenuBar、get_AddressBar、get_ToolBar、get_StatusBar で、表示状
態を取得できそうですね。
その他、個別のアドインツールバーとなると、IWebBrowser2::ShowBrowserBar で表示さ
せることはできますが、表示状態の取得は難しそうです。
IBandSite というインターフェイスを使えば、表示状態の取得もできると思いますが、
IWebBrowser2 から IBandSite を得る方法がわかりませんでした。


返信引用
たっく
 たっく
(@たっく)
ゲスト
結合: 22年前
投稿: 16
Topic starter  

素早い回答ありがとうございます。

IWebBrowser2 以外の方法で IBandSite を取得する方法はあるのでしょうか?

それか、条件を変えて、このCLSIDのエクスプローラーバーが表示されているか
などを調べることはできますでしょうか?

IEのエクスプローラーバーを表示するようなエクステンションボタンを押したときに、
表示の時は、非表示。
非表示の時は、表示という動きをしているので、それを調べることは可能なのかなと
思いましたが、どう動いているのかがわかりませんでした。


返信引用
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

> IWebBrowser2 以外の方法で IBandSite を取得する方法はあるのでしょうか?

確認していませんが、IEのアドインの中からならばIObjectWithSite::SetSite の引数に
渡される IUnknown から取得可能であるという情報はあります。
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1093957&SiteID=7

ただし、ここには、IEの外からはIServiceProvider::QueryServiceで取得できるとも書
いてありますが、CoCreateInstance( CLSID_InternetExplorer, ... )で得た
IWebBrowser2からIServiceProviderは手に入るものの、そこからIBandSiteを取得できま
せんでした。


返信引用
たっく
 たっく
(@たっく)
ゲスト
結合: 22年前
投稿: 16
Topic starter  

お世話になっております。

私も、IWebBrowser2からIServiceProviderを取得することはできましたが、
IBandSite は取得できませんでした。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました