• ベストアンサー

UWSC「画像が無い場合」

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

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

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

こうすればできます。簡単でしょ? If ChkImg("探したい画像.bmp")=FALSE Then MsgBox("ないっぽいですぅ") ただし、初めからなかった場合もこれで引っかかってしまうので、一度表示されてから消えたというのを検出したければ、次のようにする必要があります。 //初期化 あった=FALSE //画像探しのループ //目的の画像が一度見つかってそれが消えるまで回り続ける Whlie TURE   //他にやりたい処理があるならここに書く   //画像の判定   If ChkImg("探したい画像.bmp") Then あった=TRUE   Ifb あった AND ChkImg("探したい画像.bmp")=FALSE     MsgBox("消えたみたいですぅ")     あった=FALSE   EndIf Wend ついでに言うと、If文はTRUEかFALSEかを判定する文であり、関数だろうが式だろうが、判定できるのはTRUEかFALSEだけです。しかし逆を言うと、ChkImg関数のように結果がTRUEかFALSEで返る関数であれば、=TRUEなどといちいち書く必要はありません。なのでUWSCのサンプルでは、TRUEかFALSEを返す関数がIf文内にある場合、=TRUEという表記を省略しています。その方がスクリプトの見た目が簡潔にできますから。なのでサンプルがもしこれを省略していなかったら、この質問をする前に気付いていたでしょうね。

sky7770
質問者

お礼

ChkImg関数について詳しく理解できてなかったみたいです。 画像があった場合TRUE、無かった場合FALSEを返すと言うのを見落としておりました。 While ChkImg("Check.bmp") Wend 以下画像が消えてからの処理 とすることで上手く動作してくれました。 回答者様の例も、とても参考になりました。 今後活用できそうな機会もありそうです。 ありがとうございました。

関連するQ&A

  • UWSCである画像が無くなった場合の自動化

    UWSCである画像が無くなった場合に自動でワンクリックって可能でしょうか? 座標の指定とかも やらないと いけませんか? 例えばです 画面上に1列に異なる画像が (1)(2)(3)(4)(5)(6) と並んでたとします。 (3)の画像が消えた場合にワンクリックしたいのですが できるでしょうか? (3)の画像だけを指定して 消えた場合に 動作させるのって可能でしょうか? If ChkImg と FALSE Then MsgBoxを使えばいいのでしょうか? (3)の画像のbmを指定するのでしょうか?(3)の画像bmpはマイピクチャに保存してます。 初心者なので わかりやすくお願いします 簡単にスプリクト書いて頂ければ 助かります。 よろしくお願いいたします

  • UWSCからエクセルのマクロを実行

    最近UWSCというソフトを使うようになりました。 で、エクセルからSHELLをつかってUWSCを立ち上げ実行し、UWSCの最後に再度エクセルの指定したマクロを実行したいと思っています。 エクセルファイル名= AAA.xls Excel = GETACTIVEOLEOBJ("Excel.Application" ,エクセルファイル名) ---- 中略 ---- Excel.Visible = True ACW(GETID("MICROSOFT EXCEL - " + エクセルファイル名 ,"XLMAIN"),-4,-4,1288,1002,0) CTRLWIN(GETID("MICROSOFT EXCEL"), MAX) msgbox("完了しました。") Excel.Application.Run エクセルファイル名 & "!Macro1" といったようなスクリプトを組んだのですが、なにもないままUWSCが終了してしまいます。 UWSCから指定のエクセルマクロを実行する方法を教えてください。

  • UWSCの指定画像チェック

    UWSCを利用して、画面内に指定画像があるか無いかチェックし、あればクリックしたりするスクリプト文を作成したいのですが・・・、うまくいきません; 詳しい方、どうか回答お願いしますm(_ _)m 自分の作ったスクリプト文は下記のとおりです。 ""のところの「A」はフォルダ名で、「neko.bmp」が画像ファイル名です。   IFB CHKIMG(".\A\neko.bmp")     MMV(G_IMG_X,G_IMG_Y)     KBD(VK_CTRL,DOWN)     BTN(LEFT,DOWN,G_IMG_X,G_IMG_Y)     KBD(VK_CTRL,UP)     BTN(LEFT,UP,G_IMG_X,G_IMG_Y)   ENDIF 上記のスクリプト文でUWSCを実行させると、なぜか「エラー NOT Found".\A\neko.bmp"」と出てき、実行してくれません。 画像の問題ではあると思うのですが、ちゃんとuws形式で保存されてますし、画像の方もbmp形式になってるので・・・どこか悪いのかと、思い当たるふしがありません。 悪いところや指摘がございましたらどうか教えてくださいm(_ _)m また、スクリプト文を作れる方がいましたら作成を頼めませんでしょうか。。。 私の希望する、UWSCの実行は下記のとおりです。また、"neko"は画像ファイル名のことです。 "neko"が画面内にあるか無いかチェックし、もしあれば、Ctrlキーを押したまま、"neko"が見つかった座標に左クリック。 この繰り返し。

  • UWSC 色判定について

    早速ですが、UWSCで使用するスクリプトで画像判定は目にするのですが 画面全体から指定した色を探し出しその座標をクリックするという スクリプトは可能でしょうか?よろしくお願いします

  • UWSCで画像認識を行うには

    プログラム初心者です。 UWSCというフリーソフトで、画像検出を行い特定動作を行うことが出来ると知ったのですが、 様々な解説サイトを見ても「PC側にある画像ファイルと合致するものだけ」を判定できるように思えます。 しかし中にはブラウザゲームやフラッシュのような、サイトの画像を直接認識できる~と謳っているものもありました。 UWSCでのウェブ画像認識は、スクショ等で無理矢理画像を読み込むことでしか行えないのでしょうか? もしそういった設定をしなくても直接認識が行えるならその方法・解説サイトを、 出来ないのでしたらその代わりとなる方法を、 可能なら実際の操作・プログラム例が記載されているもので教えていただきたいです。

  • HSP → UWSC

    HSP → UWSC プログラミング経験がないのでスクリプトエデタ-での書き方がわかりません UWSCのランチメニュに登録されているスクリプトを実行させたいのですが HSPのスクリプクトエディタ-で具体的にどのように書けばよいでしょうか, HSPextプラグインを使ってみましたが制御命令の仕方がわかりませんでした サンプルを検索してみましたが参考になるペ-ジがみつけられませんでした。

  • UWSCにおける変数の扱い方

    UWSCでの質問です。 変数を変数で指定することは可能でしょうか? joken = 1 ka_mes = "OK" hi_mes = "NG" ifb joken = 1 then hensu = ka else hensu = hi msgbox(hensu + "_mes") // ←この結果として「OK」と表示させたい 簡略化していますので、この例では、素直にif文のthenとelseにmsgbox命令を書けばいいのですが、実際のプログラムはhensuを何度も使うためそうもいきません。 よろしくお願いします。

  • UWSCを使って画像リンクをクリックするとき???

    UWSCを使って画像リンクをクリックするとき??? 先日UWSCをダウンロードし、画像リンクを自動でクリックするスクリプトを作りました。 インターネット上で、商品を選んで「予約購入する」という画像リンクをクリックしたいのですが Ifb CHKIMG("予約購入する.bmp") = TRUE THEN   BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y) Endif のように作っても全く動きません。 UWSC40ファイルの中に予約購入する.bmpを保存してます。 うーん一体どうして?昨日から調べているけど全くわかりません。 回答よろしくお願い致します。

  • uwsc 画像の取得および保存方法は?

    つい最近uwsc使い始めたばかりの初心者です。 uwsc用に画像をBMP形式で保存しなければならならないとのことで自分で試してみたのですが、 いざ実行してみると「not found "ファイル名"」と出てきて保存した画像を認識できません。 たぶん画像の撮りかたか保存の仕方が間違っているのではないかとおもうのですが、 実際どのようにみなさんはしているのか教えていただけたら幸いです。 ちなみに スクリプトはこんな感じです。 if chkimg("画像ファイル名") then btn(left,click,g_img_x,g_img_y)

  • UWSCについて

    お世話になります。 ご教授ください。 UWSCで処理をしたいものがあります。 SELECT MSGBOX("処理をしますか?",BTN_YES OR BTN_NO)     case BTN_YES          //はいを押したときの処理      case BTN_NO          //処理終了 SELEND はいを押したときはもちろん処理しますが、メッセージ表示のまま5分経過したら はいを押したときと同じ処理(case BTN_YESに進む)をしたいのです。 大変困っています。 どなたかよろしくお願いします。

専門家に質問してみよう