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


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
1022
あおいInternetExplorer操作4解決


あおい

リンク

2008/10/22(Wed) 11:48:35|NO.20359

はじめて投稿させていただきます。

HSPからIEを起動する場合、サンプルにあるように

newcom ie, "InternetExplorer.Application" ie->"navigate" "http://www.onionsoft.net/" ie("Visible")=1
このようなスクリプトを使っていたのですが、
これを実行すると既にIEウィンドウがあっても
新しいウィンドウを作成しています。

既にIEウィンドウがある場合には
そのウィンドウを使うようにはできないのでしょうか。



この記事に返信する


ssdd

リンク

2008/10/22(Wed) 17:57:36|NO.20364

IEのバージョンは7ですか?
IE7を利用している場合は、「インターネットオプション」の設定が必要です。



あおい

リンク

2008/10/22(Wed) 19:15:37|NO.20367

はい、私が使っているのは7です。

以前のバージョンの場合は設定が必要ないのですか?



inovia

リンク

2008/10/23(Thu) 02:07:59|NO.20390

それっぽいことが出来ましたが、IE7でうまく動かないという情報あり。
ShellWindowsを使用して、起動済みIEを列挙。
このままだと、ファイルエクスプローラーも取得されてしまうので、
instrでファイルエクスプローラーか、IEかをフルパスで判定。


//IE6で動作確認 //IE7は不明 //区別がつくように、IEが既に起動済みの場合はhsp.tv //IEが起動されていない場合はwww.onionsoft.netが表示されます。 flag=0//IEを見つけた場合は、1が入る newcom sa, "Shell.Application" comres wc sa->"Windows" i=wc("Count")//IE&ファイルエクスプローラーの数 comres nc //結果が返る repeat i wc->"Item" cnt fn=nc("FullName")//ファイルのフルパス取得 //↓IEが1つでもあったらURLナビゲート //複数のIEがある場合、どれが取得されるかは不明。 if instr(fn,0,"iexplore.exe")>1:nc->"navigate" "http://hsp.tv/":flag=1:break loop //IEが見つからない場合には新規に起動する。 if flag=0{ newcom ie, "InternetExplorer.Application" ie->"navigate" "http://www.onionsoft.net/" ie("Visible")=1 //後始末 delcom ie } //後始末 delcom nc delcom wc delcom sa



あおい

リンク

2008/10/23(Thu) 12:14:54|NO.20395

おお! ありがとうございます!


repeat〜loop間に
mes fn
という行をを入れてみたら、
フルパスが大文字で取得されており、そのせいで
instrの検索に引っかからなかったようです。

そこで
fn = nc("FullName")
↑この行を

fn = getpath(nc("FullName"), 16)
↑このように小文字に直して実行してみると
ちゃんと動きました^^
(私の環境だけかもしれませんが^^;)




それと、補足ですが
『IE&ファイルエクスプローラーの数』が0の場合
ncがCOMオブジェクト型にはならず、

delcom nc
↑の行でエラーが出てしまったので

if i>0:delcom nc
↑とすることでエラーが出なくなりました。



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