掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
IEのステータスバーの値を取得 (ID:140655)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> VB2005で動くようにかきかえてもらえませんでしょうか? えぇー? 他人任せですか? (^^; で。書き換える以前に、そのコードではプログラムから起動された IE しか処理できませんので、期待する結果にならないように思えます。 IE の列挙は、ShellWindows コレクションにて行えなえます。 COM ベースのオブジェクトなので、Marshal.ReleaseComObject を忘れずに。 http://support.microsoft.com/kb/176792/en-us http://msdn.microsoft.com/en-us/library/bb773974.aspx ただし、複数の IE が起動していた場合に、どれとどれを監視対象にするかを どのようにして定めるのか、事前に決めておいてくださいね。 (すべて監視、最初に見つけたものを監視、マウス座標で判定、等々) なお、対象となるウィンドウが分かっている場合には、ShellWindows を使うよりも、 HTML の DOM を WM_HTML_GETOBJECT で直接拾った方が手っ取り早いかも。 http://support.microsoft.com/kb/249232/en-us > 現在フォーカスがあるオブジェクト(または、マウスの下のオブジェクト) フォーカスがリンク1にあって、マウス座標はリンク2の所にあった場合、 どちらを取得したいのでしょうか? マウス位置のリンク情報を取得する方については、幾つか方法があります。 (案1) IAccessible インターフェイス(COM 版)を利用する。 http://msdn.microsoft.com/en-us/library/ms696097.aspx http://www.microsoft.com/downloads/details.aspx?familyid=3755582a-a707-460a-bf21-1373316e13f0&displaylang=en http://msdn.microsoft.com/ja-jp/accessibility/bb960468.aspx (案2) IAccessible インターフェイス(マネージ版)を利用する。 http://msdn.microsoft.com/ja-jp/library/accessibility.iaccessible.aspx (案3) MSHTML を用いて、<a> 要素のリンク先を取得する。 http://msdn.microsoft.com/en-us/library/aa741317.aspx (案4) InternetExplorer のステータスバーの値を読み取る。 http://msdn.microsoft.com/en-us/library/aa752076.aspx 案1/案2 の場合、リンク先の URL は「Value」として得られるかと。 IAccessible の取得方法は幾つかありますが、マウス座標を元にするなら AccessibleObjectFromPoint APIを利用できます。(親から辿っても良いけど) 案3 の場合、InternetExplorer.Document プロパティから DOM にアクセスし、 対象となる <a> タグから IHTMLAnchorElement.href プロパティあたりで。 案4 の方法は、えりぴーさん自身が書いておられますね。あとは、 IE の列挙部分を ShellWindows に切り替えれば済むでしょう。なお、 タイマー監視の替わりに、StatusTextChange イベントを利用できます。 マウス座標では無く、フォーカスを得ている所をターゲットにするなら、 activeElement プロパティを使ってみると良いかも。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.