HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
1019
聡葉複数のIEコンポーネントのステータスを表示したい2解決


聡葉

リンク

2009/10/19(Mon) 10:19:11|NO.28409

IEコンポを使ってIEウィンドウを複数表示するソフトを作ってます。comevent命令で、イベントが発生した時にジャンプさせてIEのステータス(ステータスバーに表示されるやつ)を表示させるスクリプトを作りました。しかし、自分の書いたスクリプトではIEコンポが一つだけならちゃんと取得できるのですが、IEコンポが複数ある場合には、一番最後に作ったIEコンポのステータスしか取得できません。

comeventのヘルプを見てみると、「すでにイベントの取得が開始されている変数に対して、再度comevent命令を実行した場合は、以前のイベントキューの設定は無効になります。」と書いてありました。

となると、IEコンポの数だけ変数を用意すれば良いのでしょうが、自分が作っているソフトはIEコンポを数十個作る可能性があるため、変数をそれだけ用意するのが困難です。また下記スクリプトのように、ループ命令で一気に複数IEコンポを出せる形が望ましいです。良い方法が思い浮かばず、皆さんにお知恵をお貸しいただきたく質問しました。よろしくお願いします。

#define DIID_DWebBrowserEvents2 "{34A715A0-6587-11D0-924A-0020AFC7AC4D}" #define DISPID_STATUSTEXTCHANGE 102 repeat 5 //IEウィンドウを5個作成 screen cnt,200,200 title ""+cnt+"" axobj ie,"Shell.Explorer.2",200,200 ie->"Navigate" "http://www.google.co.jp/" comevent ie_event, ie, DIID_DWebBrowserEvents2,*event loop screen 10,600,30 //ステータス表示ウィンドウ mes "↑タイトルバーにステータスが表示されます" stop *event //IEイベント発生 dispid = comevdisp(ie_event) if dispid = DISPID_STATUSTEXTCHANGE : gosub *OnStatusExtchange return *OnStatusExtchange //ステータスバーの情報取得 comevarg status,ie_event,0 gsel 10 title status return



この記事に返信する


a

リンク

2009/10/19(Mon) 10:43:10|NO.28412




聡葉

リンク

2009/10/19(Mon) 12:21:02|NO.28417

出来ました!ありがとうございます。
comobjの配列を作る方法があったんですね。感激です。

#define DIID_DWebBrowserEvents2 "{34A715A0-6587-11D0-924A-0020AFC7AC4D}" #define DISPID_STATUSTEXTCHANGE 102 dimtype ie_event, vartype("comobj"), 32 screen 10,600,30 //ステータス表示ウィンドウ mes "↑タイトルバーにステータスが表示されます" repeat 5 //IEウィンドウを5個作成 screen cnt,200,200 title ""+cnt+"" axobj ie,"Shell.Explorer.2",200,200 ie->"Navigate" "http://www.google.co.jp/" comevent ie_event(cnt), ie, DIID_DWebBrowserEvents2,*event wait 20 loop stop *event //IEイベント発生 repeat dispid = comevdisp(ie_event(cnt)) if dispid ! -1 : window=cnt : break //どのIEのステータスか判定 loop if dispid = DISPID_STATUSTEXTCHANGE : gosub *OnStatusExtchange return *OnStatusExtchange //ステータスバーの情報取得 comevarg status,ie_event(window),0 gsel 10 title "WindowID:"+window+"["+status+"]" return



ONION software Copyright 1997-2023(c) All rights reserved.