• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:uwscのスクリプトについて教えてください)

uwscのスクリプトについて教えてください

このQ&Aのポイント
  • もし特定の画像を見つけた場合にボタンを押すスクリプトの作成方法
  • 特定の画像を連続して検出し、条件に応じてボタンを押すスクリプトの作成方法

質問者が選んだベストアンサー

  • ベストアンサー
noname#194317
noname#194317
回答No.1

その、ボタンAだのBだのがどういうものなのかでやり方が違いますけど、これなら動くであろうという方法で。ただし動作テストはしてないので、だめだったら自力で修正してください。 //以下の変数にボタンA,B,CをクリックするX,Y座標を記入するのじゃ btnA_x= btnA_y= btnB_x= btnB_y= btnC_x= btnC_y= //以下の変数にボタンB,Cのクリック間隔を記入するのじゃ(単位はミリ秒、1000で1秒) //変数clkAがないのは、ボタンAは1回しか押さないからだ //この値は20以上がお勧め。Windowsで10ミリ秒程度の間隔は取りこぼしの危険がある clkB= clkC= // //メインループ While TRUE   //ありえない高速連打になるのを避けるために少しだけ待つ   Sleep(0.1)   //最初のクリック   //ChkImg関数の頭に!が付いているのは、画像がなかったらという意味にしたいため   If !ChkImg("画像(1)") Then Continue   Btn(LEFT,CLICK,btnA_x,btnA_y,20)   //画像2を待つループ   While !ChkImg("画像(2)")     Btn(LEFT,CLICK,btnB_x,btnB_y,clkB)   Wend   //画像1を待つループ   //待ち時間が1分なので、60000ミリ秒(つまり1分)をclkCで割った回数だけループする   For i = 1 To 60000/clkC     If ChkImg("画像(1)") Then Break     Btn(LEFT,CLICK,btnC_x,btnC_y,clkC)   Next Wend 二番目のスクリプトは自分で頑張ってみてください。

tonify
質問者

お礼

迅速な回答感謝します、ボタンAは任意のキーを表したつもりだったのですが 上手く伝わらなかったようで申し訳ないです まだまだ自分の力が追いついてなく不甲斐ないばかりですが 解説を読みつつ、2番目は自分で頑張って組んでみます 本当にありがとうございました、機会があればまたお願い致します

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • UWSC 無限ループ

    UWSCで A.uws と B.uwsを無限ループさせたくて // 無限ループ While True Call A.uws // xxxx.uws 記録保存したスクリプト名 Call B.uws // xxxx.uws 記録保存したスクリプト名 Wend と記述したのですが、A.uwsは読み込まれたのですがB.uwsが読み込まれません。 具体的に、どこがどうおかしいか、このスクリプトでは出来ない場合、実際に両方を無限ループさせたい場合どう記述すれば良いのか教えて下さい。

  • UWSCについて質問です。

    UWSCについて質問です。 特定のボタンを押している間だけループさせるスクリプトを組むにはどうすればいいでしょうか? ボタンを押している間はループされ、ボタンを押していない時は処理が止まる といったようなスクリプトをくみたいのですがどうもうまくいきません。処理させるスクリプト自体は簡単で NUMPAD7を押している間はAの処理 NUMPAD8を押している間はBの処理 NUMPAD9を押している間はCの処理 といった具合にスクリプトを組みたいのですがどうすればよろしいでしょうか? 教えて頂けると助かります。 ちなみに行う処理は以下のとおりです。 処理A BTN(LEFT,CLICK,450,500,10) BTN(VK_3,CLICK,10) while true //7を押している間はここからループ開始 BTN(LEFT,CLICK,400,300,10) BTN(LEFT,CLICK,700,660,10) Wend 処理B while true BTN(LEFT,CLICK,400,300,10) BTN(LEFT,CLICK,700,660,10) Wend 処理C while true BTN(LEFT,CLICK,400,300,10) BTN(LEFT,CLICK,400,660,10) wend

  • UWSCのスクリプトについて

    日々のルーチンワークで退屈な作業をPC様にやっていただこうとUWSCの学習をしています。 以前は記録して使用したのですが不定期にマウス座標が変わるようになったため.UWSを書いてみてます。ど素人ですがやっと画像をファイルに格納して作業ができるまでになりました。 使用環境はwin7です。 質問内容ですが手間が多いのと説明がへたなのでプログラムより質問内容が理解できないほうが心配です。出来るだけ分っていただけるように頑張りますのでご教授お願いします。 画像A 画像B 画像C 以上がWEBブラウザ上に表示されたときに以下の作業をします。 オーダーフォームの利用規約同意[ボタン]、確認画像[ボタン]、購入画像[ボタン]を押下する。 どれが表示されてもオーダーフォームの作業が発生します。 ほかの質問で以下のような回答があったので参考にしたのですが繰り返し探してはくれるのですが オーダーフォームの作業を書くことができません。。 ≪転記≫ WHILE (TRUE) //WENDまで無限ループ IFB (CHKIMG("A.bmp")=TRUE) THEN CHKIMG("1.bmp") //「1」画像の座標を調べる BTN(LEFT, G_IMG_X, G_IMG_Y) ELSE IFB (CHKIMG("B.bmp")=TRUE) THEN CHKIMG("2.bmp") //「2」画像の座標を調べる BTN(LEFT, G_IMG_X, G_IMG_Y) ELSE ・・・以下略・・・ ENDIF WEND 自分でも頑張ってみますがご教授頂けると幸いです。 よろしくおねがいいたします。

  • UWSCのCHKIMG関数について

    現在、デュアルモニタ環境においてセカンダリモニタに表示しているアプリケーションのボタンを認識させてクリックさせるスクリプトをUWSCで作っています。 しかし下記コードを実行したところプライマリモニタ上にアプリケーションがあるときはTrueが戻ってくるのですが、セカンダリモニタ上にアプリケーションがある場合はなぜかFalseが戻ってきてしまいます。 print chkimg("OKボタン.bmp") UWSCのバージョン 4.8b BMPは24Bitで、プライマリモニタ上ではしっかりと認識されるので画像自体には問題は無いと思うのですがどのようにすればセカンダリモニタ上でも認識されるようになるでしょうか。 また、他に必要な情報(環境等)が無いと分からないようであれば追記致します。

  • UWSCについて

    当方、画像修正のフォトショップというソフトと合わせて使っています。 フォトショップ上で、画像のリサイズをしているのですが、画像が数百枚、時には千枚を超える時もあり、この作業をUWSCにやらせています。 現在の構文は簡単なもので、以下のようなものです ~~~~~~~~~~ while true A座標クリック B座標クリック ~~~~~~~~~~ しかし、稀にですがエラーメッセージが出てしまい「OKボタン」押さない限り、操作がストップしてしまいます。 この状況を改善するにはどの様な構文にすればよいでしょうか? またこういった事が詳しく載っているサイトはありますか?

  • UWSCのプログラミングついて教えてください。

    UWSCについてです。 私は、UWSCをまだ1週間ほどしか触っていない超初心者です。 下記のようなプログラミングを組みたいと思っているので、プログラミング初挑戦なので右も左も良く分かっていません。 UWSCのプログラミングに詳しい方助けてください。 私の組みたいプログラミングは ("A.BMP",0)を無制限ループしつつ、("B.BMP",0)は2時間おきにループしつつ、("C.BMP",0)を30分間に30回実行する 場合のプログラミングです。【3つ同時進行です。】 宜しくお願いします。 while True ifb CHKIMG("A.BMP",0) x=G_IMG_X // 画像の座標をxへ代入 y=G_IMG_Y // 画像の座標をyへ代入 BTN(LEFT, CLICK, x, y, 80) endif ifb CHKIMG("B.BMP",0) x=G_IMG_X // 画像の座標をxへ代入 y=G_IMG_Y // 画像の座標をyへ代入 BTN(LEFT, CLICK, x, y, 80) endif ifb CHKIMG("C.BMP",0) x=G_IMG_X // 画像の座標をxへ代入 y=G_IMG_Y // 画像の座標をyへ代入 BTN(LEFT, CLICK, x, y, 80) endif wend

  • UWSCでの多重ループ

    最近プログラムを組み始めた初心者です。 メインのAというループの中にもう一つBというループを作り、Bの条件が満たされたら又Aのループに戻る というスクリプトを書きたいのですがどのようにすればよいでしょうか? While~Wendでいけると思ってやってみたのですがなかなかうまくいきません。 どなたか手ほどきをよろしくお願いします。 ループA(メインループ)←←                ↑                ↑    ループB(サブループ)この中の条件が満たされた時ループAに戻る方法    ループB終わり ループA終わり

  • UWSCについて

    UWSCの設定について質問させて頂きます。 私がしたいのは、画面上に画像が現れた瞬間からカウントをスタートし、一定時間で左クリックを一回押すというものです。 現在は下記のように試しており、大体は思い通りなのですが、カウントスタート前にUWSCの停止ボタンのポップアップが点滅状態のため画像が現れた瞬間に反応できてないような感じです。 コンマ数秒でのことですがどうしても正確にしたいのです。 プログラムについての知識もなく行き詰まってしまいました。 どうか宜しくお願い致します。 while true if GETKEYSTATE(VK_ESC)then exit ifb CHKIMG("画像.bmp",0) BTN(LEFT,CLIK,10000) ENDIF WEND

  • UWSC「画像が無い場合」

    UWSCについての質問です 指定の画像がある場合、スクリプトを実行させるというのは分かりますが 逆に、画像が無い場合にのみ、特定のスクリプトを実行させるという事は可能でしょうか? 具体例としては 指定の画像がある場合は何もせず 指定の画像が消えた場合 msgbox("画像が消えました") とメッセージボックスを表示させる よろしくお願い致します

  • UWSCの画像認証について。

    UWSCの画像認証について。 画像は以下の4つ A.bmp B.bmp C.bmp D.bmp 画面場のどこかに A.bmp B.bmp のどちらかがある場合 クリックさせ CやDの場合は クリックしないというプログラムを組みたいのですが 初心者でわからなくなりました。 画像1つだけのは他の質問でみつけてクリックできるようになったのですが 判定させることがわかりません。 よろしくお願いします

専門家に質問してみよう