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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0218
zeroリンクを既定のブラウザで開きたいのですが。5解決


zero

リンク

2010/2/18(Thu) 20:30:25|NO.30722

サンプルにあったIEコンポーネントを使ってブラウザを作ろうと思っているのですが
サンプルのやつでweb上のリンクを新しいページで開くとIE固定で開いてしまいます。
IEではなく既定のブラウザで開くようにしたいのですが可能でしょうか?
可能でしたらどのようにしたらいいか教えて欲しいです。



この記事に返信する


inovia

リンク

2010/2/18(Thu) 23:06:40|NO.30726

とりあえずこんな感じになりました。

#include "hspext.as" #define DIID_DWebBrowserEvents2 "{34A715A0-6587-11D0-924A-0020AFC7AC4D}" #define DISPID_BEFORENAVIGATE2 250 #define DISPID_NEWWINDOW2 251 #define DISPID_NEWWINDOW3 273 axobj ie,"Shell.Explorer.2",640,480 comevent ie_event, ie, DIID_DWebBrowserEvents2,*event url="http://hsp.tv/" ie->"Navigate" url,,,,"" stop *event ; COMイベント処理 dispid = comevdisp(ie_event) ;if dispid = DISPID_NEWWINDOW2 : gosub *OnNewWindow2 if dispid = DISPID_NEWWINDOW3 : gosub *OnNewWindow3 ;if dispid = DISPID_BEFORENAVIGATE2 : gosub *OnBeforeNavigate return *OnNewWindow3 comevarg Cancel, ie_event, 1, 2 comevarg _Url ,ie_event, 4 , 2 // 新しく開く先のURLをゲット ptr=_Url("bstrptr") dupptr newurl,ptr,512,2 url=cnvwtos(newurl) delcom _Url // ナビゲートキャンセル Cancel("val") = 1 delcom Cancel // ここから既定のブラウザを検出して開く regkey 3,"http\\shell\\open\\command",0 if stat!=0:dialog "レジストリ読み取りエラー":return sdim reg,256 getreg reg,"",1,256 //(既定)は""でOK //以下ゴミとり s=instr(reg,0,"\"") if (s!=-1)&(s<2){// " があった場合。 e=instr(reg,s+1,"\"") if e=-1:e=strlen(reg) path=strmid(reg,s+1,e-s) }else{ e=instr(reg,0," ") path=strmid(reg,0,e) } exist path if strsize=-1:dialog "取得失敗?":return exec "\""+path+"\" "+url return



zero

リンク

2010/2/19(Fri) 01:05:31|NO.30729

既定のブラウザで開く事が出来ました。
有難う御座いました。



zero

リンク

2010/2/19(Fri) 01:28:09|NO.30731

チェック忘れてました。



あれん

リンク

2010/2/20(Sat) 10:52:39|NO.30755

exec "http://www.yahoo.co.jp/", 16

これでいいんでは?



inovia

リンク

2010/2/20(Sat) 11:24:37|NO.30757

> exec "http://www.yahoo.co.jp/", 16

これは1年前に投稿したスクリプトを改造したもので最初は exec "URL",16
でやっていたのですが、質問者がFirefoxを既定にしているにもかかわらず
IEで開いてしまうとあったのでこのような面倒くさいことをしています。

既定のブラウザがFirefoxにもかかわらず、何らかの原因でhttpプロトコル
の関連付けがIEになっているのが exec 16 を使ってもFirefoxで開かない
原因のようです。

XPの場合、フォルダオプションのファイルの種類から既定のhttpプロトコル
関連付けブラウザを確認できます。
http://tkooler.moe.hm/hsp/img/fileoption.png



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