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


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0407
中田。ブラウザでサイトを表示して背景の色でプログラム終了4未解決


中田。

リンク

2011/4/7(Thu) 17:37:55|NO.38202

タイトルの通りなのですが、HSPでブラウザを作り
そのブラウザで表示したサイトの背景の色でプログラムを終了させる。
というものを作りたいのですが、以下のプログラムを試しましたが
思い通りにいきません。どうすれば良いのでしょうか?
以下がプログラムです。

#define DIID_DWebBrowserEvents2 "{34A715A0-6587-11D0-924A-0020AFC7AC4D}" #define DISPID_NAVIGATECOMPLETE2 252 #include "hspinet.as" cls 1 sdim url,512 url="http://www.google.co.jp/" objsize 600,24 pos 40,0:input url pos 0,48 axobj ie, "Shell.Explorer.2",640,480-48 num=stat comevent ie_event, ie, "{34A715A0-6587-11D0-924A-0020AFC7AC4D}",*event ; DIID_DWebBrowserEvents2 ie->"Navigate" url pget 10,300 if (ginfo_r=255 and ginfo_g=255 and ginfo_b=255):end *main stop *event ; COMイベント処理 dispid = comevdisp(ie_event) if dispid = DISPID_NAVIGATECOMPLETE2 : gosub *OnNavigateComplete2 return *OnNavigateComplete2 name = ie("LocationURL") objprm 0,name pDoc = ie("Document") name = pDoc("Title") title name delcom pDoc return



この記事に返信する


hexa.hemi

リンク

2011/4/7(Thu) 18:36:40|NO.38205

buttonやaxobjなどのオブジェクトの色はpgetでは取得できません。
そのため背景色を取得するのにpgetは使えずpDoc("bgcolor")などを使わないといけないようです。

cls 1 の前の行に white = "#ffffff", "white", "rgb(255,255,255)"
を追加して delcom pDoc の前の行に

ok = 0 bg = getpath(pDoc("bgcolor"), 16) split bg, " ", bga bg = "" foreach bga bg += bga(cnt) wait 0 loop foreach white if bg = white(cnt) : ok = 1 : break wait 0 loop if ok : end
を追加すれば動くはずです。



中田。

リンク

2011/4/7(Thu) 21:30:50|NO.38222

すいません。
どこで取得する座標を変えられるのでしょうか?
度々、すいません。



inovia

リンク

2011/4/7(Thu) 21:48:01|NO.38228

hexa.hemi さんのやり方は、
HTMLに記述されている背景情報を読み取る方式なので
座標は当然ながら指定できません。(する必要がない)

座標から色を取得したいなら、ウィンドウキャプチャはどうでしょうか?
http://yokohama.cool.ne.jp/chokuto/advanced/capturewindow.html



fooler

リンク

2011/4/8(Fri) 20:06:23|NO.38253

何がしたいのかよく分からないが、ちょっと手続きが面倒だがGetPixelを使えば色は取得できるよ。


#define DIID_DWebBrowserEvents2 "{34A715A0-6587-11D0-924A-0020AFC7AC4D}" #define DISPID_NAVIGATECOMPLETE2 252 #include "hspinet.as" #include "user32.as" #include "gdi32.as" cls 1 sdim url,512 url="http://www.google.co.jp/" objsize 600,24 pos 40,0:input url pos 0,48 axobj ie, "Shell.Explorer.2",640,480-48 num=stat comevent ie_event, ie, "{34A715A0-6587-11D0-924A-0020AFC7AC4D}",*event ; DIID_DWebBrowserEvents2 ie->"Navigate" url hw=objinfo_hwnd(num) GetDC hw dc=stat GetPixel dc,10,300 r=stat&255:g=stat>>8&255:b=stat>>16&255 ReleaseDC hw,dc dialog strf("10,300の色 %d,%d,%d",r,g,b) *main stop return *event ; COMイベント処理 dispid = comevdisp(ie_event) if dispid = DISPID_NAVIGATECOMPLETE2 : gosub *OnNavigateComplete2 return *OnNavigateComplete2 name = ie("LocationURL") objprm 0,name pDoc = ie("Document") name = pDoc("Title") title name delcom pDoc return



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