HTMLに貼り付けたOCXが,HTMLファイルのフルパスを知るには?

解決


くるっくるりん  2003-01-30 10:46:44  No: 76960  IP: [192.*.*.*]

MPEG ファイルを再生する OCX を開発しています。
その OCX を貼り付けた HTML ファイル(VB Script)を
IE6 や VB6+SP5 の WebBrowser コントロールで呼び出し,
表示させようとしています。

あるとき,OCX が張り付いている HTML ファイルの
フルパスを OCX 自身が知る必要が出てきました。
どのようにすれば OCX は,張り付いている HTML ファイルが
呼び出されたとき,その HTML ファイルのフルパスを知ることが
出来るでしょうか?
ご存知の方,ご教示ください。

編集 削除
くるっくるりん  2003-01-30 14:45:58  No: 76961  IP: [192.*.*.*]

[追記]
実行環境や,HTML ファイルはネットワークを介することなく
ローカル PC 上でローカルな HTML ファイルの処理です。

WebBrowser コントローラな実行ファイルから HTML ファイルを
呼び出すとき,OCX にも HTML ファイルのフルパスを通知すること
なく,OCX 自身が HTML ファイルのフルパスを知ることが
できないかを検討しています。

OCX へは再生する MPG ファイル名を,ファイル名のみ,または
相対パス指定によるファイル名を渡しています。
MPG ファイルは HTMLファイルのあるディレクトリの配下に
あるのですが,WIN32API の GetFullPathName() で MPG ファイルの
フルパスを取得すると,EXE ファイルをカレントディレクトリとした
パスになってしまいます。

なんらかの方法で OCX が HTML のフルパスを知ることが出来れば
正しい MPG ファイルのフルパスに変換できると思います。
引き続き,情報をお待ちしてます。。

編集 削除
くるっくるりん  2003-02-13 10:37:16  No: 76962  IP: [192.*.*.*]

OCXが張り付いているHTMLファイルのフルパスを取得する方法が分かりました。

OCX から IWebBrowser2 インタフェイスを取得後, IWebBrowser2::get_LocationURL 関数により,HTMLファイルのURLを
取得することができるようです。
http://support.microsoft.com/default.aspx?kbid=172763

URLなので,ローカルマシン上のファイルなら file: が,
WWWサーバ上のファイルなら http: が先頭につきます。

編集 削除