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


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0205
しんウインドウの捕獲について7解決


しん

リンク

2013/2/5(Tue) 17:33:42|NO.52181

IEを捕獲しようとしているのですが、
http://hsp.tv/play/pforum.php?mode=all&num=1014を参考に
以下のような実験をしてみました。


#include "hspext.as" sdim name, 256 repeat 100 aplsel "", cnt name = refstr if instr(name, 0, "Internet Explorer") ! -1 : break ;if instr(name, 0, "楽天") ! -1 : break loop aplsel name aplact mes name stop

このとき、IEのウインドウ名は

【楽天市場】Shopping is Entertainment! : インターネット最大級の通信販売、
通販オンラインショッピングコミュニティ - Windows Internet Explorer

なのですが、表示された変数nameの内容は

【楽天市場】Shopping is Entertainment! : インターネット最大級

と、途中で切れてしまっており、うまくいきません。
なぜこうなるのかがわからず困っています。
よろしくお願いします。



この記事に返信する


Him

リンク

2013/2/5(Tue) 20:59:58|NO.52184

デフォルトでは64バイトなのでaplgetを使って最大文字数を指定します。

#include "hspext.as" sdim name, 256 repeat 100 aplsel "", cnt name = refstr if instr(name, 0, "Internet Explorer") ! -1 : break if instr(name, 0, "楽天") ! -1 : break loop aplget name, 256 aplact mes name stop



しん

リンク

2013/2/5(Tue) 21:40:13|NO.52186

レスありがとうございます。

しかし、aplgetではウインドウの捕獲はできないと思うのですが・・・。
まだちょっとわかりません・・・。
すみません。



しん

リンク

2013/2/5(Tue) 22:34:02|NO.52189

すみません、ちょっとわかりにくかったですね。

;if instr(name, 0, "楽天") ! -1 : break


mes name
は、
なぜ捕獲できないかの原因について試行錯誤している途中で付け足したものです。



Him

リンク

2013/2/5(Tue) 22:43:52|NO.52193

aplgetでウィンドウ捕獲するのではなく、aplselで捕獲したウィンドウのタイトルを
最大文字数を指定してaplgetで取得します。
aplselでウィンドウタイトルを取得しても64バイトまでなので

【楽天市場】Shopping is Entertainment! : インターネット最大級の通信販売、
通販オンラインショッピングコミュニティ - Windows Internet Explorer



【楽天市場】Shopping is Entertainment! : インターネット最大級の通信販売

になります。


#include "hspext.as" sdim aplsel_name, 256 sdim aplget_name, 256 repeat aplsel "", cnt if stat { mes "NOT FOUND" break } else { aplsel_name = refstr if instr (aplsel_name, 0, "楽天") != -1 { aplget aplget_name, 256 mes aplsel_name mes aplget_name break } } loop



しん

リンク

2013/2/5(Tue) 23:21:12|NO.52194

たびたびすみません。

要はaplselだと64バイト以上のタイトル名は取得できない、
従ってこの方法ではそういった<title>のページを開いているIEのウインドウを捕獲できない、
ということなのですね。
hspextはできれば外したくないので、もう少し考えてみます。

ありがとうございます。



Him

リンク

2013/2/5(Tue) 23:56:52|NO.52195

どういう方法を目的としているのかわからないのでこれ以上回答できませんが
まとめておきます。

・aplsel,aplgetの組み合わせで64バイト以上のタイトルも取得できる。したがって64バイト以上のタイトルのウィンドウも捕獲(判定)可能
・64バイト以上の文字列でもaplselで検索、捕獲は可能(下記)

#include "hspext.as" aplsel "【楽天市場】Shopping is Entertainment! : インターネット最大級の通信販売、通販オンラインショッピングコミュニティ - Windows Internet Explorer" if stat = 0 : aplact



通りすがり

リンク

2013/2/6(Wed) 07:48:04|NO.52201

もしかしてこの人は"Internet Exploorer"で捕獲しようとしてたとか
だからびみょーにかみ合ってないとか
;if instr(name, 0, "楽天") ! -1 : break ←コメントアウトしてるし
もしそうならこの一行は消しとくべきだった



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