14/08/05 19:00:12.01 niZhumv+0
>>92
・MOUSEORGを使う
・CHKIMGが失敗した場合にSLEEP挟まずに次のCHKIMGが実行されており
CPU時間を独占し対象の描画を妨害する可能性がある
・CHKIMGは可能な限り IMG_MSK_BGR4 で判定すべし
・明らかにマッチする画像がマッチしないなら、そのときの画像を保存し、
比較元と比較先の画像を800%以上に拡大して肉眼比較すべし
・画像があればクリックしTRUE、無かったり座標異常等でクリックできなければFALSEを返す
例えばCLKIMG関数のようなものを定義すれば、コード量は半分に減りテストもしやすいだろう
96:名無しさん@お腹いっぱい。
14/08/05 21:31:03.70 oWkOQAEl0
IE操作について質問です
CSSセレクタやXPathによるエレメント指定って
UWSC標準関数では実現できないと思うのですが
何かいい方法ありませんか?
97:名無しさん@お腹いっぱい。
14/08/05 22:12:08.03 0292bkw40
解決しました!
やっぱり画像が一致してなかったみたいです
>>93
sleep関数とmsgboxで一応デバッグしとる
98:名無しさん@お腹いっぱい。
14/08/06 12:29:26.17 OYZwCMgl0
CHKIMGを利用して指定画像があった場合、続いてその画像から右側の指定範囲をサーチさせるにはどうすればよいのでしょうか?
例を挙げると
画像A(画像左上角の座標がX=100、Y=100)があったら、次にそこから右の範囲(X1=110、Y1=100、X2=150、Y2=120)から指定画像を検索
要は画像Aの左上角座標からX1はX+10、Y1はY、X2はX+50、Y2はY+20の範囲を続いてサーチさせたいのです
こういったことが可能であればどのように書けば良いのでしょうか?
99:名無しさん@お腹いっぱい。
14/08/06 12:51:52.41 J8shURq/0
変数使えば良いんじゃね
X1 = G_IMG_X + 10
とかしても良いんだぜ
100:名無しさん@お腹いっぱい。
14/08/06 12:53:23.23 OYZwCMgl0
なるほど!ありがとうございます。
101:名無しさん@お腹いっぱい。
14/08/06 16:49:49.42 Kd4DWNAs0
PC用の無線リモコンにexe化したショートカット登録して押せるようにしたらすげー便利だった
1000円の品だったから4個しか設定出来ないがこれ捗りすぎてやばいw
102:名無しさん@お腹いっぱい。
14/08/06 18:59:45.71 hsLYtabQ0
PCに触っている状態であればランチャー動かしたほうが早いし
欲しいけど便利な用途が思いつかん
103:名無しさん@お腹いっぱい。
14/08/06 19:15:26.39 J8shURq/0
USBフットスイッチでもきっと便利に使えるだろうけれど
それはUSBフットスイッチの便利な使い方の一つでしかなくて
別にUWSCじゃなくてもいいし
EXE化しなくても引数付きでスクリプト起動してもいいよね
まぁ、嬉しい気持ちは伝わってくるよ
よかったな
104:名無しさん@お腹いっぱい。
14/08/06 19:39:18.22 Kd4DWNAs0
もともとfoobarに使えるリモコンって買ったんだけどuwscに利用したら思わず便利だったんで書いちゃったわ、確かに無理してそれ目当てに買う必要はないな
105:名無しさん@お腹いっぱい。
14/08/06 23:55:48.76 h3IAvmk30
IEで、あるページを表示させて、そこに入力フォームや登録ボタンがあるかどうかを判定するにはどうしたら良いでしょうか?
mailフォームと登録ボタンがあれば入力して押す。
IESetData(IE, "テストデータ", "mail")
IESetData(IE, True, "", "登録する")
なければ別の処理、という形にしたいのです。
ググってみたけど、どういうメソッド(?)をどう組み合わせればよいか分かりません。
教えてもらえると助かります。
106:名無しさん@お腹いっぱい。
14/08/07 00:14:05.20 6xUT57kM0
POS関数
107:名無しさん@お腹いっぱい。
14/08/07 00:23:53.64 Ft6QcBe/0
IESetDataの戻り値はなんのためにあると思っているんだ?
108:名無しさん@お腹いっぱい。
14/08/07 00:34:06.84 xY78+5+d0
複数のUWSファイルを各ループ終了後に順番に開くようにしたいのですがわかりません。
現在はmain.uwsに、
while true
call A.uws
call B.uws
call C.uws
wend
と記述しており、A~C全て画像認証で特定の画像が現れたらクリックをしてループを抜けるというものです。
Aが画像認証成功したらBへ、Bが画像認証成功したらCへ、Cが画像認証成功したらAへと行きたいのですが上手く行きません。
上記の記述だと、Aをクリアした後にBに行き、応答なしになります。
109:名無しさん@お腹いっぱい。
14/08/07 02:03:52.04 fKkKz5EB0
公式サイトの掲示板で質問すれば作者が回答してくれるのに、
何でこんな便所の落書きみたいな場所で質問するの?
110:名無しさん@お腹いっぱい。
14/08/07 02:33:23.60 xY78+5+d0
書き込んだ時503で見れなかったんだ・・・
公式掲示板で聞いてみる
111:名無しさん@お腹いっぱい。
14/08/07 02:54:02.97 S3EPzyir0
callなんてやめて関数で1ファイルにしちゃえよ
112:名無しさん@お腹いっぱい。
14/08/07 06:10:19.12 E6P035jA0
[MAIN.uws]
CALL SUB1.uws
CALL SUB2.uws
while true
A()
if !B() then exit
if !C() then exit
wend
--
[SUB1.uws]
procedure A()
…
fend
function B()
…
result=true
fend
--
[SUB2.uws]
procedure C()
…
result=true
fend
113:名無しさん@お腹いっぱい。
14/08/07 09:04:03.29 kQCQRYI80
IF CHKIMG("AA.bmp") or CHKIMG("BB.bmp") or CHKIMG("CC.bmp")
BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y)
その他処理
endif
いくつかの画像を検索して同じ処理をしたいんですけど、
上記のように書くと、AA.bmpを見つけても、CC.bmp検索までしてるようで、
AA.bmpのG_IMG_XとG_IMG_Yの値を保持してくれないみたいで上手くいきません。
IF文を分ける以外のテクニックがありましたら教えてください。
114:名無しさん@お腹いっぱい。
14/08/07 09:56:39.26 S3EPzyir0
>>113
先頭に OPTION SHORTCIRCUIT
115:名無しさん@お腹いっぱい。
14/08/07 10:55:59.57 xY78+5+d0
>>108です
調べたところ、Bの画像認証が上手く行ってなかっただけでした。
お騒がせしました。