[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 06/15 14:03 / Filesize : 331 KB / Number-of Response : 1064
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

UWSC初心者用スレ



1 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:13:49.92 ID:an35jPjo.net]
UWSC初心者用スレです

わかってる人はこっち
自動化ツールUWSC使いよ集まれ21
egg.5ch.net/test/read.cgi/software/1533818531/

降臨される神々においては相手を人と思わず猿と思し召されるよう
何卒お願い申し上げます

331 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 10:50:09.25 ID:tA+gABtL.net]
HASHTBLの値に配列を設定する方法はありませんか?
以下のようにすると「式がおかしい or 型があっていない」とエラーになってしまいます。
HASHTBL aaaa = HASH_CASECARE
aaaa["abs"] = 1,2,3

配列変数は DIM 宣言する必要があるみたいなので
DIM a = 1,2,3
HASHTBL aaaa = HASH_CASECARE
aaaa["abs"] = a
と代入した所「1」しか値が代入されていません。

以下の様に値をとれると助かります。
FOR i = 0 TO (LENGTH(aaaa) - 1)
key = aaaa[i, HASH_KEY]
value = aaaa[i, HASH_VAL]
FOR j = 0 TO (LENGTH(value) - j)
PRINT key + ": " + value[j]
NEXT
NEXT

332 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 10:53:57.13 ID:tA+gABtL.net]
>>311
配列宣言を間違えました。
DIM a = 1,2,3 ではなく、DIM a[] = 1,2,3 になります。
この状態で aaaa["abs"] = a すると「次元数が合いません」のエラーになります。

333 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 12:47:43.35 ID:aNGWRP0o.net]
ttps://junjun777.hatenablog.com/entry/20121022/uwsc_hashtbl_parameter

ググろう

334 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 14:11:44.19 ID:DRIu++Kq.net]
SafeArray使えば?

335 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 20:29:16.58 ID:EoC6wIfp.net]
>>314
なるほど
>>311

aaaa["abs"] = SLICE(a)
とすればあとはそのままいけるね

ケアレスミスの
FOR j = 0 TO (LENGTH(value) - j)

FOR j = 0 TO (LENGTH(value) - 1)
にする必要はあるけど

べつに配列の内容をJOIN()で保存して
SPLIT()で取り出して再配列化するとかいう必要はないのか

>>311
5ちゃんに書き込んだ行頭のスペースやタブは削除されるので
全角スペースにすれば字下げできる
uwscは字下げを全角スペースのままにしても実行可能

336 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 05:28:16.71 ID:Rgk748+T.net]
CMD = "cd D:\ChangZhi\LDPlayer & adb -s 127.0.0.1:5555 shell input tap 200 200"
DOSCMD(CMD)
エミュレーターの画面がタップされる。
次にDOSCMDで画像認識から得られた座標を変数に置き換えて

attack_x=g_imgx_x
attack_y=g_imgx_y
CMD = "cd D:\ChangZhi\LDPlayer & adb -s 127.0.0.1:5555 shell input tap " + (attack_x) + " " + (attack_y)
print CMD
DOSCMD(CMD)
こちらの場合だとタップされない。
printを見る限り座標自体は送られているようなのですが動作しません
どう弄ればいいのか正直分かりません。分かる方いたら教えて欲しいです

337 名前:デフォルトの名無しさん mailto:sage [2019/06/01(土) 07:07:10.14 ID:Rgk748+T.net]
すいません自己解決しました
ウィンドウ側の座標とエミュレーター側の座標を勘違いしてました

338 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 05:31:25.89 ID:PDrTjnI7.net]
久々に使おうとしたところ
記録(R)ボタンで操作を記録しようとしたら
最初のウインドウ移動コード以降全く記録できませんがもう使えないのでしょうか
作者死亡の噂があるし…

339 名前:317 mailto:sage [2019/06/05(水) 05:50:47.86 ID:PDrTjnI7.net]
勘違いしてました すまそ



340 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 05:52:56.58 ID:x4OhbciW.net]
記録できない、(記録されていないので)有効データはありませんってことは良くあるってネットで話題沸騰中
低レベル記録にすればなんとかなるかも

341 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 07:53:42.20 ID:PDrTjnI7.net]
そうなんですね
高レベル記録にすると空っぽになってしまう

342 名前:デフォルトの名無しさん mailto:sage [2019/06/05(水) 10:36:15.48 ID:S7VTZIha.net]
再インストールすれば直るよ

343 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 18:50:19.87 ID:RDrVtj7Z.net]
UWSC+Noxの環境で画像認識のマクロ使っているのですが
Noxを起動しマクロを動かしながら、別のゲームをフルスクリーンで遊ぶと動かなくなってしまいます。
確認した所ボーダレスもダメで動くのはウィンドウモードでは動きました。

殆ど ttps://qiita.com/macro_no_deshi/items/dd3b3405123bad0cfe4a ここのサイトを見て作りました

なにかいい手段はないでしょうか?

344 名前:デフォルトの名無しさん mailto:sage [2019/06/15(土) 19:44:32.64 ID:TdaUWTtt.net]
別ゲーをフルスクリーンにすることでディスプレイの解像度変わって動作不良みたいな事なってそう

345 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 06:23:33.22 ID:HmejiRXR.net]
呼び出されたマクロの中にEXITEXITがあると呼び出しもとのマクロまで終了するの何とかなりませんか?

346 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 06:35:40.69 ID:POuLEWBj.net]
EXITEXITを使わなければいい
そのスクリプトの構造が悪い

347 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 07:02:22.57 ID:NHc+bxmH.net]
起動時パラメータでEXIT/EXITEXIT実行を切り分け

348 名前:デフォルトの名無しさん [2019/06/16(日) 08:15:28.28 ID:HmejiRXR.net]
>>327
なるほど、そういう方法がありましたね。
ただEXITEXITの挙動にどうも納得がいかないですね。
レスには感謝いたします。

349 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 08:48:29.51 ID:rf1Bxp8m.net]
うっそーん…



350 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 09:58:41.01 ID:EZeI/CqZ.net]
>>328

CALLしたスクリプトは呼び出し元にとりこんで実行されてるだけだからね
EXITEXITで呼び出し元が終了するのは通常通りの挙動

どうしてもEXITEXITで呼び出し元終了させたくないなら
EXECとかDOSCMDから同期フラグ立てて呼び出すとかしないと無理

351 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 12:50:13.33 ID:VTXg1tr4.net]
どこに納得がいかないのか興味があるな…そもそもなんでEXITEXIT使ってるのか
てか呼び出し元も終了させたいときはどうするつもりなのか

352 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 14:29:18.86 ID:HmejiRXR.net]
>>331
マクロの中でサブルーチンがあり、そこでサブルーチンのみを終了するときはEXIT,
マクロ自体を終了するときはEXITEXITを使っています。
単独でこのマクロを動かすときは正常に動きます。しかし、他のマクロから呼び出し
ループさせようとしても1回動いて呼出し元のマクロごと終了してしまうのですよ。

353 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 14:56:07.49 ID:VTXg1tr4.net]
>>332
うーん?
サブルーチン側にEXITEXITある時点で作りが悪いよと言ったら怒られるかな
ぶっちゃけEXITEXITなんてGOTO並みの超限定的な場面でしか使うべきじゃない命令だし
サブルーチンは関数にして返り値出してメインで EXITすればいいだけだよね

354 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 15:12:02.08 ID:VTXg1tr4.net]
例えばだけどboolean型にして
今EXITのところと最後はRETURN TRUE
EXITEXITのところはRETURN FALSE
呼び出し側はこんな感じで
IF !関数名() EXITEXIT
逆でもいいかな

355 名前:、まあお好みで []
[ここ壊れてます]

356 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 15:15:47.43 ID:VTXg1tr4.net]
連投すまん
呼び出し側はEXITすれば良いって話なのにEXITEXITにしてしまったEXITに読み替えてね

357 名前:デフォルトの名無しさん mailto:sage [2019/06/16(日) 15:22:52.91 ID:HmejiRXR.net]
>>333
作りの悪いマクロですみません。
レスには感謝です。

358 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 06:07:04.67 ID:0Q+iBl83.net]
EXILEに空見した

359 名前:デフォルトの名無しさん mailto:sage [2019/06/17(月) 06:23:43.98 ID:nD3RS79c.net]
EXILEって気持ち悪くて大嫌いだわ



360 名前:デフォルトの名無しさん mailto:sage [2019/06/28(金) 23:06:18.54 ID:5LM4ivGb.net]
NOXであるゲームにあるミニゲームの釣りマクロを作ったのですが、
画像発見からクリックまでにラグがあるみたいでクリックしたときには、釣り上げるタイミングを逃しています。

CMD0 = "cd C:\Nox\bin & nox_adb shell input touchscreen tap " + (350) + " " + (1030)
///////ヒットしたら釣り上げる
ifb CHKIMGX("釣りヒット.bmp", winid, 115, 430, 230, 555, Detect_num, Threshold_delta, Target_color)
print "ヒット" //画像を発見したらログに表示
DOSCMD(CMD0) //Noxに操作を送信
Sleep(0.1)

こんな感じで作ってあるのですが、なにかいいアドバイスはありませんか?

361 名前:デフォルトの名無しさん [2019/06/28(金) 23:24:25.29 ID:4HrFS9y+.net]
せっかくの釣りゲームなのにそんなことして楽しい?

362 名前:デフォルトの名無しさん mailto:sage [2019/06/29(土) 09:44:30.14 ID:Of7sgcsJ.net]
何処で遅延発生してるのかわからないけど
ChkImgXで遅延発生してるならマッチングの範囲絞るとかマッチング画像トリムして小さくするとか
ChkImgXエアプだから出来るかはしらない

363 名前:デフォルトの名無しさん mailto:sage [2019/06/29(土) 11:16:41.58 ID:eEFCox6T.net]
>>339です
調べたら、adbでの操作は遅延が出るみたいでそれが原因でした

btn(left,click,400,140,10)
にしたら大丈夫でした

364 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 13:11:18.40 ID:7IuFi4Dp.net]
NOXで画像認識でマクロ使っているのですが、
NOX解像度の設定が720x1280でモニタ解像度が1920x1280のためNOXの実際のウィンドウサイズは581x1060なっているため
画像認識をしても座標がずれてしまいます。今は画像認識したら予め決めた座標をクリックするようにしています
NOXの解像度を540x960にすると問題なく動きます

NOXの解像度を変更しないで、座標のズレを直す方法はないでしょうか?

365 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 13:48:02.61 ID:LiwPiLEo.net]
>>343
正確なサイズが分かってるなら比率を掛けるだけでは?(タイトルバー分忘れないように)
モニタの縦に収まるサイズで問題ないならそれでいいじゃんとも思うが

366 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 16:35:49.95 ID:9VVtcacA.net]
ゲームの座標はクリックしてそこのドットの座標とカラーなりなんなりを記憶・登録するようにすると便利だよ
どのゲームやアプリでも使いまわしが利くしね
今のところメジャーな3Dゲーム4作品程度にしか使ってないけど、自動戦闘はすべてpeekcolorで済んでる
このスレで人気?のchkimgはいかにも遅そうなので出番がない

367 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 16:56:27.56 ID:VDp+hLNV.net]
Botかよ。
そんな使われ方じゃ作者が可哀想だな。

368 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 17:10:40.85 ID:9VVtcacA.net]
>>346
可哀想も何も、後から画像関係の関数がわざわざ増強されたのは作者も認知してるってこった
私はその前から同様の機能を拡張して使っていたので新関数を使ってないがね

369 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 19:45:50.69 ID:VDp+hLNV.net]
>>347
それとBotと何の関係が?



370 名前:デフォルトの名無しさん mailto:sage [2019/06/30(日) 20:46:18.95 ID:a2qR2cp+.net]
>>348
役立たずは黙ってろ

371 名前:デフォルトの名無しさん [2019/06/30(日) 21:32:04.04 ID:nMEM26ki.net]
仮想マシンでUWSC

372 名前:使う際に
uwsファイルや画像認識用の画像がネットワークドライブにある場合
フルパス指定しても、「Not found 中断しますか?」と聞かれ
画像認識ができません。パスにはスペースは入っていませんが、日本語は入っています。
コマンドプロンプトでネットワークドライブをZに割り当てるなど
いろいろ試してみましたが、解決には至りませんでした。
ファイルが大量かつ、仮想マシンが何台もあるので、コピーなどはできません。
どなたか解決策を教えていただけないでしょうか。よろしくお願いいたします。
[]
[ここ壊れてます]

373 名前:デフォルトの名無しさん [2019/06/30(日) 21:40:49.75 ID:nMEM26ki.net]
>>350 です。
書き忘れていました。仮想1台1台別のuwsを使用しています。
使う画像はすべて同じなので、画像をまとめているファイルは別にあり
パスを指定しなければなりません。uwsと画像が同じフォルダにある場合でも
同じような現象が起きます。

374 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 02:10:35.83 ID:BhUQI10d.net]
試してみて
ネットワークをドライブ名にマップした場合でも
そのパス名に日本語が入っていても(表のように0x5Cが含まれている文字も含め)
問題は起こらななかった
CHKIMG()に渡すパス名が "\\machine\folder\表現\a.bmp"
のようなネットワークパスだとしても有効だった
なにか勘違いしているだけで
単純にパス名が間違っているのではないか

375 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 02:48:36.99 ID:g5QsZuxD.net]
例の記事でnoxマクロが誰でも組めるようになったせいでレベルの低下が著しいな

376 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 07:49:38.60 ID:O1pDJEnN.net]
ファイルパス・ユーザー名など、システム関係に、ASCII 以外を使ったらダメ!
半角英数字(英小文字のみ)と、アンダーバーだけを使うと安全

外人の作ったアプリは、sjis を想定していないから!

377 名前:デフォルトの名無しさん mailto:sage [2019/07/01(月) 09:50:46.62 ID:Ud6nL9Ft.net]
ネットワークドライブでも問題ないし、Googleドライブでも問題ない
ただ意識せずに毎秒画像見に行ってたせいで転送量がすごい

378 名前:デフォルトの名無しさん mailto:sage [2019/07/05(金) 12:06:58.79 ID:alcGemYM.net]
はじめまして、このミジンコ誰か教えてください。

noxにてadbを使ってバックグラウンドにて動作するマクロを作成しようと思っております。
単純なタップやスワイプ等のコマンド送信は出来たのですが、画像認識(chkimg)のような仕組みは可能なのでしょうか?
また可能ならどのようなソースの書き方をすればいいのか教えて頂けませんでしょうか?

よろしくお願いします

379 名前:デフォルトの名無しさん mailto:sage [2019/07/05(金) 12:10:55.06 ID:S/iigIKp.net]
このスレもしくは前スレに同じような質問や実践的内容が書いてあるよ



380 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 11:03:00.32 ID:szQx9Drp.net]
すいません!pro版でRECIEを使おうとしたらL18が存在しません とでるのは、割れだからでしょうか?それとシリアルは必ず17桁でしょうか?

381 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 14:57:38.96 ID:s7rosYjh.net]
>>358
割れだから

382 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 15:40:43.73 ID:szQx9Drp.net]
>>359
そのあと正式な登録がされてません
とでるんですが

383 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 15:48:34.88 ID:6ShlGEgv.net]
よくまあ割れの質問なんかするな

384 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 16:19:04.02 ID:f5b28dyd.net]
割れ割れによる割れ割れのための割れ割れの政治

385 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 16:30:15.77 ID:1YLcU5Mg.net]
割れだからって言われて、それに対して正式な登録が〜って聞く意味が分からん
正式な登録してから出直してこい

386 名前:デフォルトの名無しさん mailto:sage [2019/07/06(土) 16:33:01.72 ID:o0MaAedS.net]
どうせ釣りだろ
はい釣れた釣れた

387 名前:デフォルトの名無しさん [2019/07/06(土) 18:05:48.63 ID:aan9FGim.net]
えっ、釣りだったの!?
もう通報しちゃった…

388 名前:デフォルトの名無しさん mailto:sage [2019/07/19(金) 1 ]
[ここ壊れてます]

389 名前:7:51:44.45 ID:+VZsoYG6.net mailto: noxのadbって別窓でフルスクリーンにすると数字がガッツリ変わるんですけど、noxの座標をどうやって調べればいいか教えてくださいお願いします []
[ここ壊れてます]



390 名前:デフォルトの名無しさん mailto:sage [2019/07/19(金) 18:04:34.79 ID:TdSe3tZb.net]
windowID取得してstatusで取れない?

391 名前:デフォルトの名無しさん mailto:sage [2019/07/19(金) 19:08:09.92 ID:eawjkefv.net]
話が見えないなあ
数字ってのは座標?
別窓ってのはまさかサブディスプレイ?

adbというかAndroid内で座標なんかズレやしないんだから外側からの与え方、取得の仕方に問題があるだろう
ウインドウ指定で取らずデスクトップ基準で取ってるのでは?

何言ってるのかわからんレベルならスクリプト貼ってくれた方が話しがはやい

392 名前:デフォルトの名無しさん mailto:sage [2019/07/20(土) 06:23:49.81 ID:5yy6Rgji.net]
>>368
ありがとう、まさしくその通りでデスクトップ基準で取ってたからフルスクリーン後にタップが行ってなかったみたいです。
現在とりあえず動かすことが出来ました。ありがとうございました

393 名前:デフォルトの名無しさん [2019/07/29(月) 10:35:08.27 ID:OnS04pQR.net]
UWSC総合スレという名でディスコードのコミュニティを作ってみました。
これから仕事なのでまだ何も記載してませんが、よかったらどうぞ
https://t.co/R0e07jjoOZ 👀
Rock54: Caution(BBR-MD5:b73a9cd27f0065c395082e3925dacf01)


394 名前:デフォルトの名無しさん mailto:sage [2019/07/29(月) 20:31:52.42 ID:nFx6ozTz.net]
メアド集めて何する気だよ?

395 名前:デフォルトの名無しさん mailto:sage [2019/07/29(月) 21:41:55.00 ID:CSar0obt.net]
https://i.imgur.com/l91swsP.jpg

396 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 20:50:17.33 ID:P8HnQUDX.net]
LDplayerでゲームを起動し、バックグラウンドで画像認識した場所をクリックという動作をしたいのですがうまくいきません。

ゲームが前面に来ている時は、画像認識して座標は取ってるがクリックせず
ブラウザなどで隠れ裏面に来ている時は画像認識を失敗しています。
IDが取れてないか最初のMOUSEORG指定がおかしいのかとおもうのですが、見てもらえないでしょうか

w_id = getid( GET_ACTIVE_WIN )
mouseorg( w_id ,2 ,MORG_BACK )

w_id = getid( "ウィンドウ名" ) //w_id にアクティブウィンドウを格納
Hnd = GETCTLHND( w_id, "RenderWindow")
MOUSEORG(Hnd, MORG_DIRECT, MORG_FORE)
どちらを使っても上記と同じ症状です

OSはWindows10 画像認識にはchkimgxを使っています。
似たような処理を作ったことある方、解決策ご教授頂けないでしょうか。

397 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 20:58:37.57 ID:tS2fmUug.net]
LDplayerは使ったことがないからわからないけど
バックグラウンド操作が効かないソフトもある
似たような過去スレに似たような質問たくさんあるから一読してみて

398 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 18:41:27.29 ID:R+vlhR/4.net]
NOX用のマクロを作ろうと思ってるのですが、画像認識でつまづいています。
>>245のサイトを参考にテスト用のuwsファイル
https://dotup.org/uploda/dotup.org1911694.png
を走らせた結果が
https://dotup.org/uploda/dotup.org1911695.png
です。

bmpファイルはsaveimgで取得したもので、PCの解像度は1920×1080、NOXの解像度は540×960、ウィンドウサイズの復元もしてあります。
この場合画像認識が上手くいかない原因としてどのような事が考えられますか?

399 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 19:40:31.57 ID:R+vlhR/4.net]
>>375
ちなみに
IFB CHKIMG("テスト用.bmp")
MSGBOX("画像認識に成功しました。<#CR>G_IMG_X = " + G_IMG_X + "<#CR>G_IMG_Y = " + G_IMG_Y)
で画面全体を検索するとNOX上の画像がきちんと認識されます。



400 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 20:36:33.96 ID:zrwPHBgv.net]
あのさあ
コード画像で

401 名前:貼るとか、試すのに全部手打ちさせる気?
判定画像もどんなのか分からんし

なので全く試してないが単に縦横間違ってるとかそんなレベルじゃなかろうね
[]
[ここ壊れてます]

402 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 21:02:16.41 ID:R+vlhR/4.net]
>>377申し訳ないです。
長くなってしまうので画像でと思ったのですが、言われてみれば仰るとおりでした。
改行数の関係で少し変わりますが下のコードです。
winid = getid("NoxPlayer") //ゲームウィンドウを名前で検索して取得
winPosX = STATUS(winid,ST_X)
winPosY = STATUS(winid,ST_Y)
winsizeX = STATUS(winid,ST_WIDTH)
winsizeY = STATUS(winid,ST_HEIGHT)
print "位置X 位置Y 幅 高さ"
print winPosX + " " + winPosY + " " + winsizeX + " " + winsizeY
CALL ChkImgX.uws
x1 = 0
y1 = 0
x2 = 540
y2 = 994
Detect_num = 1
Threshold_delta =20
Target_color = -1

startup_chkimgx() //CHKIMGX関数開始
While True //Wendまでの処理を繰り返す
ifb CHKIMGX("テスト用.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
print "テスト用を発見しました。" //画像を発見したらログに表示
else //上記の条件全てに当てはまらなかった場合
print "画像が見つかりません" //メッセージを出す。
endif //ifbの処理の終了地点
sleep(3) //()内の秒数待機
Wend

403 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 21:04:55.14 ID:R+vlhR/4.net]
>>377
デスクトップ左端に
https://dotup.org/uploda/dotup.org1911827.jpg
こう置かれてるNoxのAppCenterのアイコン(https://dotup.org/uploda/dotup.org1911829.bmp.html)で認識させてます

404 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 22:37:11.99 ID:zrwPHBgv.net]
うーん? コードは違和感ないけど
試しにwinidじゃなくて0を与えるとどうなる?
※chkimgと同じく全画面という指定

後はsaveimgじゃなくてprintscreenで画像作ってみるとか

405 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 23:11:18.56 ID:R+vlhR/4.net]
>>380
winid = 0って書き方で大丈夫ですかね?
プリントスクリーンで作ってwinid = 0で試してみると認識されたので画像位置をクリックするように書きえ変えてみたのですが実際にはクリックされませんでした。

406 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 23:14:15.77 ID:R+vlhR/4.net]
>>380
winid = 0
CALL ChkImgX.uws
x1 = 0
y1 = 0
x2 = 0
y2 = 0
Detect_num = 1
Threshold_delta =20
Target_color = -1

startup_chkimgx() //CHKIMGX関数開始
While True //Wendまでの処理を繰り返す
ifb CHKIMGX("テスト用.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
print "テスト用を発見しました。" //画像を発見したらログに表示

deffence_x=g_imgx_x
deffence_y=g_imgx_y
//画像認識で取得した値を代入してDOSCMDで送る内容を作成
CMD = "cd C:\Program Files (x86)\Nox\bin & nox_adb shell input touchscreen tap " + (deffence_x) + " " + (deffence_y)
print CMD //CMDの内容を確認
DOSCMD(CMD) //Noxに操作を送信

else //上記の条件全てに当てはまらなかった場合
print "画像が見つかりません" //メッセージを出す。
endif //ifbの処理の終了地点
sleep(3) //()内の秒数待機
Wend
これを走らせると
テスト用を発見しました。
cd C:\Program Files (x86)\Nox\bin & nox_adb shell input touchscreen tap 1358 556
と出るのですが実際にはクリックされてない状況です。

407 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 00:23:17.82 ID:/xlhahKC.net]
windid = 0
のときはデスクトップの座標

winid が getid()で得た値で
それが1以上なら
そのウィンドウの座標

この場合はwinidに0を渡して返ってきた座標からは
ウィンドウのx,y位置とさらに実際の表示領域までの
枠幅を引いてやらないといけない

408 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 00:49:19.44 ID:/xlhahKC.net]
getid()でとっていた値が対象ウィンドウの
ものでなかった場合を除いてだが
winidに0を指定しただけで認識できるというのは
不思議なので検索領域が広くなったことで単に
違った箇所が誤認識されているのかも

409 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 01:11:14.59 ID:U4dG53It.net]
別にwinid=0じゃなくて直接0で良かったんだけど、まあいいや
で0と画像の作り方両方同時にするんじゃなくて片方ずつではどう?
問題を切り分けたい

ちなみに仮に今の方法でadbにしたいならその座標からウインドウの座標を引いて後タイトルバー分も引けば出来ることはできる



410 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 01:12:38.38 ID:lOZq4lm8.net]
>>384
winid=0の時はNoxを移動しても移動先にあるアイコンの座標を出してくれるので誤認識って事は無さそうです
どうもgetid()で対象ウィンドウの値が取れていない気がするのですが


411 名前:>>379の画像のようにNoxの左上にNoxPlayerとあればgetid("NoxPlayer")っていう認識で間違ってないですか?
エミュレーターの追加をしていないのでこのNoxPlayerしかないのですが…
[]
[ここ壊れてます]

412 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 01:19:42.46 ID:Ks0WXhsa.net]
>>383が既に指摘してるけどgetidの戻り値はいくつなのよ

413 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 01:22:44.43 ID:U4dG53It.net]
>>387
>>375
ウインドウは取れてる

chkimgx時に何か変なようだけど何かなあ
ウインドウがアクティブじゃなくてもいいはずなんだけどね

414 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 01:54:21.96 ID:lOZq4lm8.net]
>>385
0にする前のコードでsaveimg、WinShot、プリントスクリーンで試しても変わらずでした
逆に0にした後はどの方法で作った画像でも認識はされます

皆さん色々とご意見ありがとうございます
こういうプログラム的な事をするのが初めてなので煩わせてしまって申し訳ない

415 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 01:57:35.42 ID:/xlhahKC.net]
>>386
>Noxの左上にNoxPlayerとあればgetid("NoxPlayer")っていう認識で間違ってないですか?

たいていそうだが、必ずそうだとはいえない

ヘルプのGETIDを見ると
タイトル: 識別したいウィンドウのタイトル (タイトルの一部分だけでもOK)
なので
とれるIDは
"NoxPlayer_1.txt"や"NoxPlayerについて"などのうち最初にみつけたもの
また
" "などが含まれているのに気づかない場合もある
また
>>379 の画像を見ると
Windowsの標準的な形式のウィンドウスタイルではなく
タイトルバー部分に関して独自の描画をしているようなので
内部的なウィンドウタイトルがNoxPlayerで始まっていない可能性もある

GETID()でとった値の
STATUS(id,ST_X),STATUS(id,ST_Y)などはすでに見ていて
それらしい値になっているのだと思うが
いちおう
STATUS(id,ST_CLASS)がそれらしい名前になっているか
見たほうがいいかも

さらに
GETALLWIN( )
でとったリストの中に"NoxPlayer"で始まるウィンドウタイトルがほかにないことを
確かめれば完璧

416 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 02:38:29.78 ID:lOZq4lm8.net]
>>390
fukidasi("ゲームウィンドウ上でSキー") //Sキー入力待ちの告知
While !(GETKEYSTATE(VK_S)) //Sキー入力まで無限ループ
sleep(0.1)
Wend
fukidasi() //入力待ち告知の吹き出しを消す

winid = getid(GET_ACTIVE_WIN) //Sを押したウィンドウでIDが取得されるので確実に取得できる
cls = STATUS(winid, ST_class)
title = STATUS(winid, ST_title)
print "ウィンドウ名は" + title
print "ウィンドウIDは" + winid
print "ウィンドウクラス名は" + cls
の結果が
ウィンドウ名はNoxPlayer
ウィンドウIDは1
ウィンドウクラス名はQt5QWindowIcon

n = GETALLWIN()
PRINT "ウィンドウの数:" + n
IFB n > 0
FOR i = 0 TO (n - 1)
PRINT ALL_WIN_ID[i] + ":" + STATUS(ALL_WIN_ID[i], ST_TITLE)
NEXT
ELSE
PRINT "ウィンドウが見つかりませんでした"
ENDIF
で全ウィンドウを取得してみた所NoxPlayerは一つだけでした

にもかかわらず0以外では認識されずどうしたものかと…

417 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 03:03:14.23 ID:U4dG53It.net]
さて仕方ないということで>>378のままで実行してみると普通に成功するね
(テスト用を発見しました。が3秒毎に出る)

となると基本的なところを見直そう
環境としてはWindows10? 念のためUWSCのバージョンは5.3.0.2?
あと念のためNoxの設定でレンダリングモードを変えたりしてみた?

自動化ツールUWSC使いよ集まれ21 756- によれば一部の環境でOpenGLではうまく動作しないなどあるらしいよ
(Windowsなのかグラボ依存なのかはっきりとはしない)

418 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 08:20:35.61 ID:OFX4DJO3.net]
>>391
>ウィンドウクラス名はQt5QWindowIcon
このクラス名を見る限り実態は別にあるんじゃなかろうか

419 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 08:43:36.26 ID:OFX4DJO3.net]
>>393
あ失礼
Qt5QWindowIconのクラス名はこのスレ



420 名前:ノも過去に出てきていた
それであっているようですね
[]
[ここ壊れてます]

421 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 12:32:06.93 ID:lOZq4lm8.net]
>>392
すみません、理由は分からないのですが動くようになりました
というのも訳あってWin7にダウングレードしていたのですが、Win10に戻した所画像が認識されるようになりました

ご協力いただいた皆様本当にありがとうございました

422 名前:デフォルトの名無しさん mailto:sage [2019/08/04(日) 13:50:12.50 ID:z/hKv82K.net]
画像認識のループマクロで画像が認識されず一定回数ループした場合に別の処理をさせたいのですがどのような手法をとればいいのでしょうか?

423 名前:デフォルトの名無しさん mailto:sage [2019/08/04(日) 14:43:10.09 ID:YK9Zosi+.net]
画像が認識できないのとループ回数で処理分けたいのは別の話だし手法というほどもない
自分がやるのならwhileによるループ内に画像認識とカウンタで分岐するifなりselectなりで作るが

後のことはそのうまくいかないスクリプト見ないと何が悪いのかは分からん

424 名前:デフォルトの名無しさん mailto:sage [2019/08/10(土) 04:37:33.43 ID:7UvH5Dc6.net]
>一定回数ループ
本当にやりたい処理はそうじゃないだろう

425 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 02:21:47.46 ID:02nOh0YG.net]
noxにchkimgx走らせたらたまにx:-1332736054 y:399917186
とかとんでもない座標が帰ってくるのですが原因わかりません助けてください

426 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 04:06:47.43 ID:YF3o46xU.net]
分からないものは分からないで済ませる方法を考えよう
たまに変になるだけならxyが指定範囲外ならもう一度走らせればいい

427 名前:デフォルトの名無しさん [2019/08/26(月) 14:35:17.89 ID:yberui11.net]
確かにそうですね・・・異常値の検知やってみますありがとうございました

428 名前:デフォルトの名無しさん [2019/08/26(月) 22:00:32.81 ID:D4IbCpMk.net]
DOSCMDを管理者として実行する方法ありますか?Windows7です

429 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 22:10:52.63 ID:mEUMz2+C.net]
そのままググれ



430 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 22:21:25.54 ID:D4IbCpMk.net]
UWSC.exeの設定を変更したあとUWSCを再起動してなかったわ
ありがとう

431 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 15:41:17.68 ID:/dYnoZCL.net]
とあるフリーゲームのセーブデータのバックアップを取りたいのですが、1時間毎にファイルサイズを比較して、変化があればバックアップを取るということをしたいです。
(現在はファイルサイズの変化に関わらずバックアップを取るようにしているため、容量がどんどん増えています)
ですが、ファイルサイズの取得方法がググってもイマイチわかりませんでした。
何方か教えていただけませんか?

432 名前:デフォルトの名無しさん [2019/08/31(土) 16:30:13.80 ID:7TXshm9s.net]
BETWEENSTR(doscmd(“for %z in (ファイル名) do echo %~zz”), “<#CR>”, “<#CR>”, -1);

試してないので予めごめん。

433 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 17:14:37.69 ID:/dYnoZCL.net]
>>406
親切にありがとうございます。ダブルクォーテーションを半角に直して、コマンドプロンプトを直接叩くと数字が出てくるのですが、UWSCで
PRINT BETWEENSTR(doscmd("for %z in (ファイル名) do echo %~zz"), "<#CR>", "<#CR>", -1);
とすると、『ECHO は <ON> です。』と出てきて、数字になりません。どうしたらいいでしょうか。

434 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 17:25:18.95 ID:/dYnoZCL.net]
自己解決しました。回答ありがとうございました!

435 名前:デフォルトの名無しさん mailto:sage [2019/08/31(土) 18:08:17.65 ID:0Yc9lQY2.net]
uwsc使う必要ないような…?

436 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 19:24:18.75 ID:5mFrqnue.net]
すみません、以前から同じ問題に悩まされていて、未だに原因が分かりません。
UWSCでandroidを自動化しており、scrcpyというソフトでPCから操作しています。



437 名前:クリックがうまくされないことが多く、待機時間など入れても全く解決しないのですが、
クリックの前に 「print "クリックします"」という記述を入れると問題なくクリックされるようになります。
このような記述を無意味に入れたくはないのですが、原因は何なのでしょうか?
[]
[ここ壊れてます]

438 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 19:46:09.23 ID:5mFrqnue.net]
追加です。
全く同じスクリプトでその症状がWindows10のみに出ます。
Windows7ではprintの記述がなくても問題なくクリックされます。

何かPC側の設定でそのような問題が起きる項目があるのでしょうか?

439 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 19:46:25.58 ID:zpdGYnJT.net]
問題が再現するスクリプト貼ってくれよ
あと環境やらもね



440 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 20:13:35.68 ID:5mFrqnue.net]
NGワードやら、改行が多すぎるやらでスクリプトは貼れないです。

441 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 20:29:24.70 ID:5mFrqnue.net]
色々検証してみましたが、PRINTでなくも関係ないところを一回クリックすると動作するようです。
なのでBTN(LEFT,CLICK,,)を2回連続して書くと一回クリックされます。
もしくは10秒以上の待機を入れればクリックされました。こちらは待機時間が長すぎて実用性がありません。

442 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 20:41:43.66 ID:N1GXnBlH.net]
そうですか

443 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 21:20:42.64 ID:zpdGYnJT.net]
まあ、Windows10だとそういう問題が多々ある
更新止まってるソフトだし解決しない

まあ、幸いAndroidの操作ならadbという手があるのでbtnの代わりにdoscmdでadbコマンドに置き換えればいいよ

444 名前:デフォルトの名無しさん mailto:sage [2019/09/01(日) 21:39:50.56 ID:5mFrqnue.net]
ありがとうございます。色々調べても同じような解決方法しかないみたいですね。
次はadb shell input touchscreen tap x yを試してみたいと思います。

445 名前:デフォルトの名無しさん mailto:sage [2019/09/02(月) 09:23:16.27 ID:IEOCJvHA.net]
サウンドで「プログラムの起動」に何かの音付けると分かるけど
win10って見えないプログラムがしょっちゅう起動してる?から
フォーカスを奪われたようになってるんでない

446 名前:409 mailto:sage [2019/09/02(月) 15:24:43.08 ID:y60Hvlvu.net]
>>418
ありがとうございます。

My Window Loggerというソフトを使って調べてみましたが、
フォーカスは外れていないようです。

447 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 11:38:19.09 ID:0frhp+Tu.net]
スレチかもしれないんですが、UWSCのスクリプトファイルが複数あって、同じ個所を同時に修正するようなソフトってないですか?
WinMergeを使っていますが、3個までしか同時編集できません。

448 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 11:38:51.09 ID:TLffwesQ.net]
関数化する

449 名前:デフォルトの名無しさん mailto:sage [2019/09/09(月) 12:17:09.85 ID:eI5EZMSU.net]
関数化というか同じという箇所を別ファイルに切り出してcallするだけでもいい
まあ、変数の管理があるので関数化が望ましいかもだけど



450 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 14:37:32.43 ID:pwiI+xHT.net]
今まで使ってた物がwin10アプデ後動かなくて調べたら、原因はわかったんだけど、対処法がわからないのでアドバイスください
ttps://qiita.com/macro_no_deshi/items/dd3b3405123bad0cfe4a
ここのサイトを参考に作ったもので、「サンプルコード(完成形)」の画像を発見したあとの処理にBTN関数を入れると反応がありません。
原因は「MOUSEORGによる補正」の
MOUSEORG(winid,MORG_DIRECT,MORG_FORE)
が原因みたいです。
MOUSEORG関数について読んだのですが、正直良くわかりませんでした。
削除すれば一応動くのですが、どうしたら良いでしょうか?

451 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 15:12:59.56 ID:psJkeShP.net]
過去にもそれ何度か話題になってるけど直接的な解決方法はなかった気がする
NoXとかならadbで接続してタップするコマンド送信するとか

452 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 18:50:26.13 ID:IcXkdgTx.net]
常にデスクトップに表示してマウス取られていいなら消せばいい
それが嫌なら記事の通り

453 名前:デフォルトの名無しさん mailto:sage [2019/09/12(木) 19:48:01.48 ID:pwiI+xHT.net]
>>424
そうなんですね。情報ありがとうございます。

454 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 18:38:20.96 ID:J9OvsDUU.net]
あいまい検索できるCHKIMGXって使うたびにstartup_chkimgxとshutdown_chkimgxではさまないといけないの?

startup_chkimgx()
while true
<処理>
wend
shutdown_chkimgx()

て形ではさむの1回でもあいまい検索できてる気がするんだけど

<処理>のところにいくつもchkimgxて書くこと考えると毎回はさむの大変なんだけど楽なやり方ある?

455 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 19:00:58.02 ID:suhfvUA6.net]
できてりゃいいし、気になるなら何やってるかスクリプトお読みなさいよ

456 名前:デフォルトの名無しさん mailto:sage [2019/09/14(土) 19:29:28.42 ID:T/fmJAyy.net]
これはもはや初心者ではなくて考えることを放棄した猿

457 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 00:21:03.12 ID:J++fziTo.net]
メールアドレスをEXCELからIEのアドレス欄にコピペしようとしたら、コピペ出来ないどころか右クリックもきかない場合はコントロールCもダメなときは、どうすれば良いでしょうか?

458 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 02:24:56.23 ID:c545q6Mo.net]
python勉強してuwscでやってたこと移行していってるけど
chkimgxってめちゃくちゃ使い勝手良かったんだなー
うまくここまでいい具合のもの作れないや

459 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 03:46:26.17 ID:d0MhJ3Yl.net]
chkimgxに相当する物が無いのか
人工知能やweb巡回ロボなどで注目されていから
Pythonやってみようかと思っているのに



460 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 06:36:15.46 ID:shGVxZhQ.net]
>>430
シートの保護を解除する

>>431,432
ただのopenCVラッパーなので同じように関数化すれば同じ使い勝手だが…?

461 名前:デフォルトの名無しさん mailto:sage [2019/09/16(月) 09:02:03.26 ID:J++fziTo.net]
>>433
ありがとうございます。
やってみます

462 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 09:29:48.59 ID:Qlpvvbbr.net]
OpenCVそのままだね、あいまい検索もパターンマッチングの閾値さげるだけ
連番ファイル名のあいまいとか細かい処理は自分で追加しなきゃいけないけど

name, ext = os.path.splitext(FileName)
multi = glob.glob(name + '.[0-9]' + ext)

463 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 12:15:59.14 ID:W7Brc645.net]
画像の特定の色指定してマッチングとかは?
まあここらへんまで実装するのがただのuwscユーザーとしては難しいって意味じゃないの

464 名前:デフォルトの名無しさん mailto:sage [2019/09/17(火) 23:07:48.56 ID:Qcff0eSx.net]
何が難しいのかは本人以外には分からんが難しくたってやりゃできるお手本あるんだからその内できるだろ

465 名前:デフォルトの名無しさん [2019/09/21(土) 15:31:11.62 ID:MHWtiGlt.net]
質問失礼します。
ifb chkimg("画像名",0,,,,,,IMG_MSK_BGR4)=True
SLEEP(2)
BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y)
SLEEP(1)
Else
endif

で画像をクリックしているのですが目標の画像のすぐ下をクリックする方法ってありますでしょうか?
目標の画像が見つかれば座標に関係なくその画像の下にカーソルが少し移動してクリックするといった感じです。
よろしくお願いします。

466 名前:デフォルトの名無しさん mailto:sage [2019/09/21(土) 15:35:02.99 ID:idUljkgM.net]
あるんじゃない?
元々そういうソフトだし

467 名前:デフォルトの名無しさん mailto:sage [2019/09/21(土) 15:47:33.83 ID:mk38kF2N.net]
画像の下とはどういう意味か

468 名前:デフォルトの名無しさん [2019/09/21(土) 15:48:10.01 ID:d3d5sbQS.net]
BTNの前にいったん適当な変数へG_IMG_Yを
コピー代入し、それをずらしたい量だけ増加させてから
その変数でBTNを呼ぶ、という単純な話ではなくて?

469 名前:デフォルトの名無しさん mailto:sage [2019/09/21(土) 18:30:07.78 ID:VtT+26ja.net]
検索画像の座標に関係あるのかないのかどっちなんだ
クリックするかの判定に画像使ってるだけで実際クリックするボタンの位置固定がなら
そもそもg_img_x/y使わず、クリックしたい場所を固定値なり別の変数/定



470 名前:数にしたらいい []
[ここ壊れてます]

471 名前:デフォルトの名無しさん mailto:sage [2019/09/24(火) 21:54:56.01 ID:lGKeQ6/A.net]
Edge上でドラッグ&ドロップ動作をエミュレーションしようとしてるけどうまく行かない
Edge側の問題っぽいが

472 名前:デフォルトの名無しさん mailto:sage [2019/09/25(水) 02:02:13.55 ID:idiO5sU0.net]
EdgeというよりUWPアプリ全般で多分うまくいかないんじゃないの

473 名前:デフォルトの名無しさん [2019/09/26(木) 11:47:45.82 ID:2E8AEgsX.net]
UWSCを今日から始めました。
皆様、宜しくおねがいします。
早速なのですがSLEEPについて教えて下さい
<理解していること>
SLEEP(0.1)
0.1秒スリープ
---------------
SLEEP(RANDOM(2))
0or1or2秒スリープ
---------------
<やりたいこと>
0.01秒から1秒の範囲でランダムにスリープしたい場合は
どうしたら実現できますか?
皆様のお知恵を宜しくおねがいします。

474 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 11:56:29.09 ID:8zbcqLQ8.net]
Sleep(Random(100) / 100)

475 名前:デフォルトの名無しさん [2019/09/26(木) 12:09:10.09 ID:2E8AEgsX.net]
>>446
早速のご回答有り難うございます。
こういう表記の仕方があるんですね
まったく思いつきもしませんでした。
有り難うございます!!!

476 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 12:13:50.53 ID:bGOHcRaB.net]
randomは引数の範囲最大値は出ないことに注意
例示の引数2の場合で言えば0か1しか出ない

で、要するに1〜100の値を求めて100で割れば0.01〜1.00となるわけで
randomの仕様を考慮&利用すると以下の通り

(random(100) + 1) / 100

477 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 12:20:51.72 ID:8zbcqLQ8.net]
>>448
>randomは引数の範囲最大値は出ないことに注意
知らなかった、申し訳ない

478 名前:デフォルトの名無しさん [2019/09/26(木) 12:46:58.57 ID:2E8AEgsX.net]
>>448
更に詳しい解説及びSLEEP(RANDOM(2))についての指摘
有り難うございます。
「引数2の場合ば0か1」勉強になりました。
本当に有り難うございます。

479 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 13:55:37.41 ID:iUaFKvJQ.net]
すっごい初歩的な質問かもしれませんが、
メモ帳にもの凄い長い文字列がありその途中に
a
b
c
という1文字ずつの文字列が10個くらいあってそれを全部
d
e
f
に簡単に変える方法ってあるでしょうか?
最終的にはそのabcをdefに変えたもの
ghiに変えたもの、jklに変えたものなど沢山必要なため、手作業で一つ一つ変えていくのだと膨大な時間がかかってしまうためよろしくお願いします。



480 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:03:02.51 ID:5T2rMbCQ.net]
んなもんUWSCじゃなくてエディタの正規表現で置換せーや

481 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:07:22.25 ID:bMINaTXu.net]
すっごい初歩的な質問だし、やり方も何通りも思いつくけど、お前が思いつかないって事はあとから要件がコロコロ変わるか、全くの初心者かなので一つ一つ手作業でやったほうが早い。

482 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:09:46.30 ID:DaWSSFTy.net]
Replaceってあったっけメモ帳の置換の方が早そう

483 名前:450 mailto:sage [2019/09/26(木) 14:25:46.18 ID:iUaFKvJQ.net]
メモ帳の置換を使った場合
abcという横に並んだ文字列をdefという横に並んだ文字列に変えるってのだと一瞬でできたんですが、縦に並んだ
a
b
c

d
e
f
に変える場合だと上手くいかないんですが
何か方法はありますか?

484 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:29:56.39 ID:ff/FN5DC.net]
改行を含めて直列にしてから元に戻せば楽なんじゃね

つーか、改行をまたいで文字列置換してくれるエディタがあった気がするが

485 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:36:55.66 ID:5T2rMbCQ.net]
正規表現でぐぐれ
あとはスレチだ失せろ

486 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:41:33.51 ID:bMINaTXu.net]
正規表現なんていらんだろ。。。何いってんだw

487 名前:デフォルトの名無しさん [2019/09/26(木) 14:47:35.38 ID:PdDoKstg.net]
>>456
それこそ、マイクロソフトのワード(苦笑)ですら
置換画面であいまい検索にチェックを入れて
a^pb^

488 名前:pc^p を abc へ置き換えることで可能かと。
秀丸エディタその他のエディタでも一般的にできる。
[]
[ここ壊れてます]

489 名前:デフォルトの名無しさん [2019/09/26(木) 14:53:59.09 ID:i7CtdN8G.net]
具体的なことは一切書かず偉そうなことだけ抜かしてるお前こそ一体なんやねん
アホは黙っとけ



490 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:56:42.66 ID:bMINaTXu.net]
>>460
間違いしか書いてないやつに言われたくないぞwあほ

491 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 14:58:41.92 ID:3k8gDmD5.net]
別に正規表現でもできるし間違いではなくね?

492 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:00:59.83 ID:5T2rMbCQ.net]
>>461
なにがどう間違いなのか詳しく頼むわ
そしてさっさと正しいやり方を書いてくれ

それと、>>460は俺じゃないぞ阿呆w

493 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:04:09.18 ID:bMINaTXu.net]
正規表現なんて必要ない。UWSCならREPLACEでも使えばいい。
スレ内で対応可能だし、正規表現でググるとかアホ

494 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:05:49.73 ID:/5glJw3r.net]
何がしたいのかいまいちわからんが
abcをdefに変えるだけなら正規表現は必要ないかもしれんけど
他にも色々変えるんだったらさっさと正規表現でも使ったほうが速いだろ

495 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:07:24.62 ID:bMINaTXu.net]
だから「要件がコロコロ変わるか、全くの初心者かなので一つ一つ手作業でやったほうが早い」

496 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:09:23.30 ID:5T2rMbCQ.net]
マクロの流れで書き換える必要があるならreplace使うのは分かるが
単純にテキストの文字列書き換えるだけでわざわざuwscでreplace使うとかどっちがアホなんだよw

497 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:12:54.58 ID:bMINaTXu.net]
はいはい。アホとの会話は要件聞き出すより無駄だわ。
わざわざメモ帳で正規表現使う方法でもググっとけw

498 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:12:58.19 ID:OcEGW6mq.net]
>>464
んで、具体的なやり方は?

499 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:13:06.47 ID:DaWSSFTy.net]
行・列関係なく縦に並んだ指定文字なら面白い質問なのに



500 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:14:37.41 ID:bMINaTXu.net]
だから「要件がコロコロ変わるか、全くの初心者かなので一つ一つ手作業でやったほうが早い」

501 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:19:02.37 ID:eZXWH36o.net]
abcをdef、ghi、jklとかたくさん変えるとか言ってるし正規表現でやったほうが早いだろ

502 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:20:58.61 ID:bMINaTXu.net]
>>472
お前は正規表現をググったほうがいいw

503 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:24:30.08 ID:VJCVWXU0.net]
煽るだけのベテラン基地外がまた湧いたのか
向こうが過疎ってるからってこっちにくんなよ

504 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:24:57.66 ID:5T2rMbCQ.net]
何通りもやり方は思いつくとか言いながら、煽るだけで決して何一つ言わない時点でお察し
どうしようもねえなw

505 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:27:37.43 ID:Dz9wKQLF.net]
メモ帳で正規表現なんて使えるの?

506 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:32:08.31 ID:bMINaTXu.net]
おぃおぃ。本気で置換と正規表現を混同してるやつがいるのか^^;

ググるなら「置換」だし、作業するなら「改行を検索に含めることができるテキストエディタを探す」だぞ。
要件変わるから多分無意味だけどw

> メモ帳で正規表現なんて使えるの?

メモ帳のテキストを吸い出して、正規表現にマッチングさせればいいけど、普通はやらん。
対応してるテキストエディタ使う。

507 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:32:23.98 ID:balOv07a.net]
教える気もない上級者さんは>>1のスレから出てこないでください

508 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:38:07.93 ID:bMINaTXu.net]
>>478
そうする。ひどいなここ。

509 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 15:42:08.85 ID:tLIoXhFC.net]
それだけ長文かけるならやり方書いてあげればいいのに
uwscスレって定期的に煽りキチガイ沸くよな



510 名前:デフォルトの名無しさん [2019/09/26(木) 16:15:32.47 ID:2E8AEgsX.net]
>>451
WindowsのTeraPadで置換機能つかって
検索する文字列を「\na\nb\bc\n」
置換後の文字列を「\nd\ne\nf\n」
とすれば
a
b
c

d
e
f
とに力技でできます。
UWSCは本日1日目なのでわかりません。

511 名前:デフォルトの名無しさん [2019/09/26(木) 16:23:29.46 ID:2E8AEgsX.net]
上の補足
qwea
b
c
の変換はちゃんと行わないのですが
先頭から
a
b
c
となるテキストは変換できません

512 名前:
先頭がaとなるときの表現方法が正規表現で可能なのかな?
詳しくないのでごめんなさい。
[]
[ここ壊れてます]

513 名前:450 mailto:sage [2019/09/26(木) 16:40:53.92 ID:iUaFKvJQ.net]
ありがとうございます。
やってみます。

514 名前:デフォルトの名無しさん mailto:sage [2019/09/26(木) 17:09:08.72 ID:dB4DsoxS.net]
>>481
と同じことをUWSCでやろうとすると
kekka = REPLACE( taisyou, "<#CR>a<#CR>b<#CR>c<#CR>", "<#CR>d<#CR>e<#CR>f<#CR>")

>>482
TeraPadは正規表現は使えないと思うので
Meryを使った場合は
検索する文字列 "(^|\n)a\nb\nc"
置換後の文字列 "\1d\ne\nf"
(^|\n)で先頭か前に開業がある場合のどちらかを指し
それに一致した内容が\1に入る

515 名前:デフォルトの名無しさん [2019/09/26(木) 18:14:18.26 ID:2E8AEgsX.net]
>>484
わかりやすい解説有り難うございます。
おっしゃる通り、TeraPadは正規表現使えないみたいです。

Meryを使って
検索する文字列 "(^|\n)a\nb\nc"
置換後の文字列 "\1d\ne\nf"
を使えば先頭文字aの場合も解決できて
置換後の文字列を何種類か作っておけば
>>451さんは幸せになれますね。

個人的にはでMaryをUWSCで操作すると言う手も考えちゃいますけど
スマートな方法は
UWSCで正規表現を使う場合にはVBScript等使えばできるみたいですね。

516 名前:450 mailto:sage [2019/09/26(木) 18:45:29.17 ID:iUaFKvJQ.net]
Meryだと無事に置換ができました。
本当にありがとうございます。助かりました。

517 名前:デフォルトの名無しさん [2019/09/26(木) 19:56:14.78 ID:2E8AEgsX.net]
自分もMery使用したことがなかったのでインストールして
上記置換処理やってみました。
一瞬で置換され便利ですね

過去ログでもおすすめエディターみたいですので少し使ってみます。
>>484さんに感謝

518 名前:デフォルトの名無しさん [2019/09/27(金) 06:24:51.56 ID:HGFU/goi.net]
ものすごく初心者な質問させて頂きます。
過去ログのソースコードを見させて頂いているのですが
人によってコマンドの記述が違います。

1.print XXXX
2.Print XXXX
3.PRINT XXXX
というように大文字と小文字を混在されています。
なにか理由があるのでしょうか?

519 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 08:17:47.20 ID:C42tS7ey.net]
言語的に予約語、関数名、変数名に大文字小文字の区別がなく、専用のエディタもないから好きなように書いているだけ
※専用じゃないけどvscodeやサクラエディタ用の拡張や予約語リストはあるので入れることをオススメ

ちなみに例えば自分はPCでなら関数は大文字、変数名は小文字キャメル(定数は大文字)を緩く守るが
掲示板なんかにスマホから短いコード投下する時は面倒なので小文字かな



520 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 08:18:23.10 ID:P2udmMmf.net]
1.個人のこだわり(ひとによっては宗教レベル)
2.タイピングの癖
3.UWSCの寛容さへの甘え

521 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 10:12:57.50 ID:UTbYC5kd.net]
Pascal系は大文字小文字を区別しないものが多い、C系はほとんど区別される。UWSC作った人がPascal好きだったか?

522 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 10:56:47.41 ID:C42tS7ey.net]
uwscはPascalというかDelphi由来

523 名前:デフォルトの名無しさん [2019/09/27(金) 11:16:12.69 ID:HGFU/goi.net]
>>489
大文字と小文字に区別がないこと理解しました。
私も関数は大文字、変数名は小文字キャメル(定数は大文字)で
同じ様に記述してみます。

>>490
個性が出やすくなるんですね。

短期間でのレスありがとうございます。

524 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 21:12:48.80 ID:swY7XTEk.net]
スクリプト終了しても消えない変数みたいなのは作れますか?
いちいちファイルに保存しないとダメ?

525 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 21:18:29.42 ID:szJrwaq1.net]
ファイルに保存しないと駄目

526 名前:デフォルトの名無しさん mailto:age [2019/09/27(金) 22:06:37.44 ID:0SGX+H6c.net]
プログラミング自体はじめたばかりの初心者です。
データのあるexcelから1つずつセルを、別ソフトへとコピペさせ

527 名前:驛求[プのマクロを作っております。
終了条件として、excelからコピーしたセル内容が空白となるまでループさせたいのですが、ループが始まりません。
どうしたらよろしいでしょうか?
※excelでセル内容が空白の場合に取得される内容は改行(<#CR>)です。

A = GETSTR(0)
WHILE A = "<#CR>"
//excelをアクティブに
CTRLWIN(EXCELID, NORMAL)
CTRLWIN(EXCELID, ACTIVATE)
//セルを1つ移動させる
KBD(VK_DOWN, CLICK, 50)
//セルをコピー
KBD(VK_CTRL, DOWN) // キーを押しっぱなしにする
KBD(VK_C, CLICK, 50)
KBD(VK_CTRL, UP, 50) // キーを離す
//貼り付け先ソフトをアクティブに
CTRLWIN(pasteID, NORMAL)
CTRLWIN(pasteID, ACTIVATE)
//コピー内容を貼り付け
KBD(VK_CTRL, DOWN) // キーを押しっぱなしにする
KBD(VK_V, CLICK, 50)
KBD(VK_CTRL, UP, 50) // キーを離す
A = GETSTR(0)
WEND
[]
[ここ壊れてます]

528 名前:495 mailto:age [2019/09/27(金) 22:09:22.58 ID:0SGX+H6c.net]
連投スマソ、補足です。
495では省略してしまいましたが、
ループが始まる前に、クリップボードにはなにかしらのデータをコピーしておく
プログラムを書いています。

529 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 22:28:07.12 ID:szJrwaq1.net]
WHILE A = "<#CR>"
これだとAが改行の間ループすることになる



530 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 22:34:58.29 ID:Fhm0Ycov.net]
WHILE A = "<#CR>"
だと空白である間ループするようになると思うけど

それはそうと
今やろうとしてるような表示上のセルを直接見ながらという手もあるとは思うけど
CSVなりに内容を吐き出させた上でファイルを処理したほうがよいのでは
とくにセル数が多ければそちらのほうが圧倒的に速いし
キー操作をおこなうより安全だと思う

531 名前:デフォルトの名無しさん mailto:sage [2019/09/27(金) 23:15:06.36 ID:C42tS7ey.net]
一列程度ならリストに突っ込んでforで回せばいいと思うが
範囲選択してコピーは省略、手作業なりスクリプト化なりご自由に

//Excelでコピーした列データをリスト化
list = SPLIT(GETSTR(0),"<#CR>")

//貼り付け先をアクティブに
CTRLWIN(pasteID, NORMAL)
CTRLWIN(pasteID, ACTIVATE)

//リスト終端まで回す
FOR A = 0 TO RESIZE(list)
 SENDSTR(0, list[A])
 SCKEY(pasteID, VK_CTRL, VK_V)
NEXT

貼り付け先がどんなんかよく分からんのでSLEEP入れたりは適当に調整してくれ

532 名前:495 mailto:age [2019/09/28(土) 00:24:45.36 ID:qPxO4zq5.net]
皆様迅速なご回答をしていただきありがとうございます。
whileの基礎的なことすら分かっていなかった自分が恥ずかしいです。
マクロは、excelデータから社内の伝票作成ソフトへ相手会社名や振込先口座、金額などを
転記したいために作っております。

>>498
おかげさまで=を<>にしたらイケました。
>>499
csvもあるんですね。確かにキー操作は不安でした。
ただ、このマクロを最終的に「B列のコピーした内容が"x"ならC列を飛ばしてD列をコピー」など
IF?で分岐させていく予定なのですが、それでもcsvで対応できるんですかね・・・
>>500
8列くらいのデータがあるんです、、、
ただ、今後使うことがあるかもしれないので、参考にさせていただきます。

533 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 01:21:29.50 ID:Y40c4v1p.net]
CSVカンマ区切りにしか対応してないがFGET()で読めば
戻値 = FGET( ファイルID, 行, [列, ダブルコーテイション] )
のように列を指定して取り出せる
渡す相手に対しても相手のウィンドウに直接入れるのではなく
ファイルをつくり渡すことも考えられる
相手がカンマ区切りのCSVを読み込めるならFPUT()で書き出し安いが
そうでなかったとしてもXMLやJSONあるいは相手の独自形式のファイルに
して受け渡すことは検討してみたほうがいいと思う

534 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 01:51:10.04 ID:Y40c4v1p.net]
あるいは1行まるごとを読んでSPLIT()で配列化して扱える

ファイルを読んで新しいファイルを作るような

535 名前:場合だと
もしかしたらperlやpythonで扱うほうが楽かもしれないが
[]
[ここ壊れてます]

536 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 04:36:04.09 ID:va6TJWDv.net]
>>501
ん、rpa的なことやるならuwscはやめた方がいいよ
理由は色々あるが懸念の通りexcelフォーマットを読み解き柔軟に組むのは不可能じゃないが向いてない
そういうのはVBAか標準でexcel操作可能なrpa用ソフト使った方がいい
(まあ、uwscもproはちょっとexcel専用関数あるんだけど…)

自分が組むならまずは分岐とか余りしなくて済むような、単純作業のインプットになるデータフォーマットを考える
(何なら貼り付け先のソフトの画面全項目でもいい)
そのフォーマットにexcelから落とし込むのは恐らくはVBAが適当で、転記はuwscにやらせるのがいいんじゃないかな
excelから直接別ソフトへ転記は無駄に難易度上がるだけだよ

537 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 06:16:08.57 ID:Ct1nF35m.net]
向いてないのか
職場でRPAが話題になってるの聞きながらuwscでいいじゃんって思ってた

538 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 06:30:07.11 ID:CcJW/+z6.net]
向いてないと言うか力技なんだよ
データをcsvで読みこんで対象のテキストボックスに流し込むとかやりようはありそう

539 名前:デフォルトの名無しさん [2019/09/28(土) 20:20:42.41 ID:2HxgDAhh.net]
今日でこのソフトに出会って3日目なんですけど
むちゃくちゃ便利ですね。
今まで手動で3時間くらいポチポチしてたことが
皆さんのソースコードを読みながらお茶してるだけで勝手にやってくれる
もうちょい早く出会ってPro版を購入したかった。



540 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 21:58:40.51 ID:Bvcc+55+.net]
CSV なら、Ruby で処理するのが簡単

541 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 00:24:15.19 ID:2oHQQmaP.net]
いやcsv処理する話しじゃないんで…

542 名前:デフォルトの名無しさん [2019/09/29(日) 17:38:04.40 ID:yyfVEle8.net]
このソフトてモニタースリープ状態のまま動かすのて無理ですかね?

543 名前:デフォルトの名無しさん [2019/09/29(日) 17:42:46.79 ID:4kqLeu2A.net]
uwscでマウスのカーソルを移動させても反応しません
手動で移動させると反応します
この違いはなぜ起こるのでしょう

mmvで移動させています
クリックは両方とも反応します

544 名前:デフォルトの名無しさん [2019/09/29(日) 18:04:51.80 ID:4kqLeu2A.net]
連投すみません
uwscではマウスオーバーしたという判定が出ないんです
html5の仕組みが関係しているんでしょうか

545 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 19:15:04.42 ID:uzWuDMUd.net]
試してみたいからスクリプト貼ってくれよ×2

546 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 22:43:58.25 ID:NTZExMlG.net]
>>510
たいていのことはできると思うが
POFF(P_MONIPOWER2)

POFF(P_MONIPOWER3)
との間に
試したい処理を入れてテストしてみればいい

547 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 22:51:03.21 ID:NTZExMlG.net]
>>512
どんなページのどういう部分かわからないけど
MMVでピタッとある座標に移動しても反応しないものが
人がマウスを移動するようにMMVで位置を少しづつ
ずらして移動すると反応する場合もある

548 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 06:38:09.68 ID:PihPYg9U.net]
マウスオーバーってマウスカーソルが要素の境界またいだら起きるイベントだったりしない?

549 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 09:37:01.91 ID:n0JFz+mK.net]
>>505
RPAはコーディングいらないんだよ
高性能なやつだとAIが操作内容を解析して最適化までしてくれる



550 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 11:10:24.43 ID:jC4keZpM.net]
それは幻想だ

551 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 14:38:39.72 ID:dVa1Usr4.net]
RPAはボタンやOCR的に画面の字を認識するのはデフォだろ
UWSCの画像認識はお世辞にもry

552 名前:デフォルトの名無しさん [2019/10/01(火) 23:49:48.17 ID:s21ezsHI.net]
>>515 >>516
mmvで動かしてるだけです。
mmvを何

553 名前:回もやって、ゆっくりにしてもだめでした。
境界をまたいでもだめでした。
[]
[ここ壊れてます]

554 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 13:22:45.54 ID:9e1T1J7x.net]
Noxをアクティブ化せずに日本語の文字列を入力したいのですが何か良い方法は無いでしょうか

・MOUSEORG(ID,2)を使ってCtrl+VをKBDで送信、SENDSTRのACC指定を2にして実行
→反応せず
・ADBKeyBoardをインストール後、DOSCMDにて
nox_adb.exe shell ime set com.android.adbkeyboard/.AdbIME
nox_adb.exe shell am broadcast -a ADB_INPUT_TEXT --es msg 'テスト' を送信
→反応せず

555 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 17:10:33.10 ID:Jw4k5nXF.net]
>>521
MOUSEORG(ID,1)だとできるの?

556 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 19:10:24.22 ID:9e1T1J7x.net]
>>522
KBDとACC指定デフォルトのSENDSTRは入力が通ります

557 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 19:25:09.29 ID:WUNHA4Q/.net]
変なことせずに単に
nox_adb shell input text ‘文字列’
じゃなんか駄目なのかね
テキストボックスにフォーカスあたってる?

558 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 20:18:11.78 ID:9e1T1J7x.net]
>>524
input textは2バイト文字送れないようです
フォーカスはもちろん当たってます

559 名前:デフォルトの名無しさん mailto:sage [2019/10/08(火) 20:40:35.50 ID:WUNHA4Q/.net]
なるほど、そういえば自分も同じことやった気がする
結局どうやったかなあ
input keyevent 279
(もしくはKEYCODE_PASTE)
でnox内のクリップボードから貼り付けは出来るよね

で、sendstrだと直接Windows側のクリップボードに送っちゃうから確かnox内に送れなくてなんかしたんだけど何かを忘れた
Windows側でctrl+cとかそんなレベルのことやったような…sendstrのパラメータで解決したようなうろ覚え



560 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 01:21:59.63 ID:dWWBbVm8.net]
>>526
確かにNox内のクリップボードにある文字列は貼り付け出来ますね
ただ同じくUWSCからNox内のクリップボードに文字列を送る方法が分からなくて、あーだこーだしてる内に解決しました

NoxでADBKeyBoardを使う場合はAndroid7でないと動作しないようで、
Android7でインスタンスを作り直したらBroadcastで2バイト文字の送信が出来ました
UWSCというよりAndroidの質問になってしまいましたが、回答してくれた方々ありがとうございました

561 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 02:29:57.15 ID:l8XLJu9S.net]
今pro番を使おうと思ったらどうしたらいいですか?

562 名前:デフォルトの名無しさん [2019/10/11(金) 06:58:36.99 ID:Td6I+Zpy.net]
Pro版のインストールファイルを入手できれば
方法はあるけれど....

563 名前:デフォルトの名無しさん mailto:sage [2019/10/11(金) 07:57:18.50 ID:aMgrTkTz.net]
ファイルがあってもライセンスキーがなければだめでしょ

564 名前: mailto:sage [2019/10/16(Wed) 21:26:16 ID:2hMqi2nO.net]
質問なのですが、万が一のためにマクロ実行中に、Escキーを押すと
マクロを中断させたいのですが、Escキー以外は操作を無効にさせたいです。
LockHardを覚えましたが、Escキーが効かなくなってしまいます・・・

sethotkey(VK_ESC, 0, "ForceStop")
LockHard(true)

565 名前: mailto:sage [2019/10/16(Wed) 23:23:09 ID:Feea5J53.net]
STOPFORM()出しといたらダメなの
あとLOCKHARDEX()でウィンドウ限定するとかは

566 名前:デフォルトの名無しさん [2019/10/17(木) 12:12:39 ID:A4Rdxp6g.net]
>>526
なるほど、stopformという手もあるんですね!
マウスとキーボード操作を受け付けないようにしながら、escキーだけ受付・・・というのはやはり難しいでしょうか?

567 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 12:52:54.52 ID:A4Rdxp6g.net]
たびたび質問ですみません。
ものすごく初歩的なことなのかもしれませんが、chkimgxって画面に前面で表示されていないのだめなのでしょうか?
2つのソフトをsckeyでキー操作しているのですが、片方が裏にまわってしまうと認識していないような気がします。
とりあ

568 名前:ヲずの対策として、acw(0,0)とctrlwin(showとtopmost)でウインドウ位置+手前表示固定しているのですが。 []
[ここ壊れてます]

569 名前: mailto:sage [2019/10/17(木) 13:06:59 ID:bO7Ftz48.net]
MOUSEORGの引数が間違ってなければウィンドウが被ると駄目なソフトなんでしょ
その2つのソフト名は?他に使ってる人が居れば情報が得られるかもしれない



570 名前: mailto:sage [2019/10/17(木) 14:09:22 ID:tJ4XAWvT.net]
例えばNoxだと単発ウインドウなんで裏に隠れてても取れる
BlueStacksだと親ウインドウしか指定してないと描画してる子ウインドウが隠れると取れない、子ウインドウを指定すればいい

571 名前:デフォルトの名無しさん mailto:sage [2019/10/17(木) 21:35:08.48 ID:4XXN/n+s.net]
>>535
>>536
ご回答ありがとうございます。
なるほどですね、そういう仕組みになっているのですね。

572 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 02:49:35 ID:L/O8BxfD.net]
UWSC+NOX環境でadb使ってダブルタップをする場合ってどうすれば良いのですか?
DOSCMD("cd C:\Nox\bin & nox_adb shell input touchscreen tap " + (370) + " " + (600))
sleep(0.1)
DOSCMD("cd C:\Nox\bin & nox_adb shell input touchscreen tap " + (370) + " " + (600))
と書いてみましたがだめでした。アドバイスお願いします

573 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 04:41:04 ID:a1/9gbM9.net]
シングルタップはできてるんだよね?

574 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 13:39:26.21 ID:L/O8BxfD.net]
>>539
シングルタップは問題なく動いています

575 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 13:46:16.17 ID:a1/9gbM9.net]
>>540
Sleepを増やしてどうか

576 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 13:56:35.11 ID:8YNql35h.net]
いちいち、cdから始めるから間隔空き過ぎって話じゃないの?
shell以降で連続してタップ送るとか、path通して処理時間短縮するとかそういうアプローチの仕方してみたら

577 名前:デフォルトの名無しさん [2019/10/24(木) 18:01:47.14 ID:xBrr20Dc.net]
>>542
多分そうじゃないかな。
nox_adb.exe はフルパスで.exeも略さずに記載する。
sleep 0.1 は消してみる。

それでもだめなら、android本体側にダブルタップの
イベントを用意し、それをadbで起動する手がある。
試していないが例えば下記。
https://stackoverflow.com/questions/25865259/how-to-make-a-double-tap-to-expand-the-video-screen-using-android-adb-commands
https://sp.ch.nicovideo.jp/sakaki_sourai/blomaga/ar1232345

578 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 10:35:07.95 ID:V94JerTM.net]
Noxの話題が出ているので便乗して…
CHKIMG関数をNoxウィンドウに走らせると画面がチラついてそのまま真っ暗になることがあります
MOUSEORGでMORG_FOREを指定してもチラつきが抑えられません
発生頻度は数時間に1回発生するかどうかで偶にという感じです
解決策か原因をご存知の方はいらっしゃいませんか
環境はOSがWindows10、Noxのバージョンが6.0.8.3です

579 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 11:34:44.08 ID:iWBj7Wic.net]
noxの設定で描画のOpenGLをDirectXに変えてみるとか



580 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 12:17:47.97 ID:Pn1d2knk.net]
>>538です
>>543 フルパスで書いてみましたがだめでした
DOSCMD("C:\Nox\bin\nox_adb.exe shell input touchscreen tap 600 300")
DOSCMD("C:\Nox\bin\nox_adb.exe shell input touchscreen tap 600 300")
>>542
shell以降で連続してタップ送る、と言う書き方がわかりません
アドバイスください

581 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 12:53:23.96 ID:gsbQkWqD.net]
>>546
試してないから出来るか微妙な気もするけど
shellで1回区切ればリモートシェル状態になるので
nox_adb shell & input ~ & input ~ & exit
とする(exitなくてもいいかも?)
次善策としては
nox_adb shell input

582 名前:~ & nox_adb shell input ~
とする
[]
[ここ壊れてます]

583 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 17:43:44.15 ID:Pn1d2knk.net]
>>547 ありがとうございます
DOSCMD("C:\Nox\bin\nox_adb.exe shell & input touchscreen tap 600 300 & input touchscreen tap 600 300 & exit")
これでやってみましたがUWSCが落ちました
一応
DOSCMD("C:\Nox\bin\nox_adb.exe shell input touchscreen tap 600 300 & C:\Nox\bin\nox_adb.exe shell input touchscreen tap 500 300")
これで2回クリックされていました。ですが2行で書くよりはわずかに早くなった程度でゲーム側でダブルタップとして認識してくれませんでした

584 名前:デフォルトの名無しさん mailto:sage [2019/10/25(金) 18:48:26.13 ID:gsbQkWqD.net]
>>548
& exit外しても落ちる?

もし落ちたとしてダメなら>>543の提示方法
ただこれはぶっちゃけ準備面倒で現実的じゃないので
noxの仮想キーのスクリプトボタンでダブルタップ作ってuwscからはsckeyでどうかな

585 名前:デフォルトの名無しさん mailto:sage [2019/10/29(火) 18:26:13.64 ID:tLCpEMn0.net]
Windows10については徐々に更新されているらしい

Windows Command-Line: Unicode and UTF-8 Output Text Buffer
https://devblogs.microsoft.com/commandline/windows-command-line-unicode-and-utf-8-output-text-buffer/

586 名前:549 mailto:sage [2019/10/29(火) 18:33:02.66 ID:tLCpEMn0.net]
>>550
誤爆です
すみません。

587 名前:デフォルトの名無しさん mailto:age [2019/10/30(水) 22:06:29.29 ID:zKjMcLjE.net]
もしかしてですけど、excelのCOMオブジェクトでシート名を指定して
それをアクティブにするにはpro版じゃないとできないのでしょうか?
(XLACTIVATEというpro専用関数を見つけました・・・)
たとえば、「test1」と「test2」というシートを交互に選択したいのですが。

588 名前:デフォルトの名無しさん mailto:sage [2019/10/30(水) 22:20:41.62 ID:zKjMcLjE.net]
たびたびすみません。
既に開いているexcelファイルに対してrange.selectなどの操作をしたいのですが、
サンプルスクリプトを改変しながらやっておりますが、
  EXCEL.Workbooks.add() // 新規ワークブック作成
を抜くとcomエラーが出ます。
どうすればよいのでしょうか・・・

589 名前:デフォルトの名無しさん mailto:sage [2019/10/31(木) 22:19:57.30 ID:2PR/MUI3.net]
そういう場合Activeworkbookで拾うんだよ



590 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 14:06:54.83 ID:KJOE9J4P.net]
作者さんはお亡くなりになられたのですか?

591 名前:デフォルトの名無しさん mailto:sage [2019/11/13(水) 21:11:38.75 ID:HJ+xL4oZ.net]
うn

592 名前:デフォルトの名無しさん mailto:sage [2019/11/14(木) 00:26:50.94 ID:1xX/pUlc.net]
ついにFirefoxの動作が思わしくなくなったので卒業した

593 名前:デフォルトの名無しさん [2019/11/24(日) 21:08:58.59 ID:twqCowHe.net]
ずっとWindows7で使用していたスクリプトをWindows10で実行したところうまく動かないので
UWSCを5.0から5.302へアップしたら今度はエラーが出て実行すらしなくなってしまいました
今まで動いていたスクリプトがなぜエラーになったのか見当がつきません
同じ経験をして解決された方いましたら教えて下さい
エラー箇所はforループで起こりネスト構造がおかしいような内容でした
よろしくおねがいします

594 名前:デフォルトの名無しさん mailto:sage [2019/11/24(日) 22:55:11.94 ID:7ZFsEzWw.net]
ソース見せてもらえへんとなんとも

595 名前:デフォルトの名無しさん [2019/11/25(月) 14:38:22.16 ID:7t0vtsJ9.net]
>>558 ですが解決しました

因みにforループの中のif文で

if xx  then 処理A
elseif yy
処理B
else
処理C

endif
といった書き方をところどころしていたのですが
1行でif xx then 処理 の後ブロック構文ががだめになったみたいで
全部
if xx
処理A
にしたら動きました

596 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 14:56:34.71 ID:E9DgYFh2.net]
ifb って書けば良いのでは?

597 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 15:52:04.30 ID:zoSkKdve.net]
>>560
5302のヘルプ見るとその書き方は載ってないからもともと非対応だったのかも

598 名前:デフォルトの名無しさん mailto: []
[ここ壊れてます]

599 名前:sage mailto:2019/11/25(月) 21:00:32.82 ID:efEnk7rY.net [ 構文解釈してるのはUWSC自体のはずだと思うけど
なんでOSの影響受けるんだろう? ]
[ここ壊れてます]



600 名前:デフォルトの名無しさん mailto:sage [2019/11/25(月) 22:32:08.47 ID:QpqOy3LM.net]
x86→x64だと結構影響あるよ
特にActiveX使ってるとバグ作り込みやすい

601 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 00:20:42 ID:Swtl+iDB.net]
sckeyって裏マクロ非対応ですか?
変数に入れた文字列を送りたいのですが・・・

602 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 02:13:46.52 ID:Swtl+iDB.net]
すみません、sendstrの間違いでした、、、

603 名前:デフォルトの名無しさん [2019/11/26(火) 16:25:19.36 ID:Mtvvcsi1.net]
>>561
どのバージョンからか忘れたけどifでも ifb でもどっちでも良くなったと説明書きがあったと思うのですが
それ以来ifb は使用してないです 結構昔です 10年以上前かも

>>562
今まで動いていたのは作者のバグだったのでしょうか?

それよりエラーメッセージが日本語になったのは驚きました

あとwin7のエラーメッセージは編集して行が変わっててもその都度エラーが発生した行番号を表示しますが 
win10は編集して行が変わっても最初に表示した行番号を表示します
ファイルを編集してもすぐには反映されないのかと思いましたがとりあえずエラーは出なくなったので原因はわかりませ

後iniファイルを起動時に読みこんだ値と変わってしまっていてまともに動きません
現在調査中ですがわかる方いたら教えて下さい

あと7ではタスクバーから起動したり終了させたり(マウス中ボタン)できてたのもできなくなって大変困ってます
他にも問題だらけでwin10への以降は不可能な気がしてきて気が重いです

604 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 02:18:16 ID:7G4RG5sM.net]
数年前の事(Win7→Win10、UWSCバージョンアップ)を今更騒いでも当時の記憶掘り出せるかは怪しいもんだと思うし
スクリプト全体像なり再現用のミニマムコードでもくれなきゃこっちで確認なんかできないよ
特にWin10では色々問題あったがほとんどの人はとっくに対応しちゃって何が問題だったか忘れてるか
UWSC自体に見切りつけて簡単に使えるところにしか使ってないというのが現状と思われる

てかね、Win10自体も最近1909出たばかリで、またUWSCの動作が何か変わっているかもしれないし変わってないかもしれない
ただ言えることはUWSCは今後更新されないので、改善は見込めないということ

605 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 03:42:15 ID:DxUr7XIY.net]
>>567
まさかと思うけどUWSCのフォルダを
Program Files
Program Files (x86)
に置いてないよね
もし置いていたら、いまからでも遅くないから、そこじゃないどこかへ

606 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 14:33:22 ID:8E8c4VQb.net]
そ〜こではないど〜こか〜へと〜

607 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 21:15:02.15 ID:aGnYyAi4.net]
excelブックのシートすべてに対して各シートの1行目に検索をかけ、「印刷対象」というワードが存在する場合、そのシートを印刷する
というマクロなのですが、1回目ループの印刷されたところでcomエラーが出てしまいます。
どうしたらよいのでしょうか・・・?

EXCEL = CREATEOLEOBJ("Excel.Application")
EXCEL.visible = True
EXCEL.workbooks.add()

WITH EXCEL
FOR A = 1 TO .Sheets.count
.Sheets(A).Select
printiffind = .Range("1:1").Find("印刷対象") 
printif = .Cells(printiffind.row , printiffind.column).value
msgbox(printif)
IF printif = "印刷対象" THEN
.activesheet.printout
else
ENDIF
NEXT
ENDWITH

608 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 22:40:20 ]
[ここ壊れてます]

609 名前:.96 ID:MWZwasL9.net mailto: 何故それをuwsc にしようとしたのかがまったく理解できない
1つでも印刷されるのそれ?
[]
[ここ壊れてます]



610 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 10:04:18.53 ID:p/uKw1d3.net]
Excelのマクロでよくねw

611 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 18:31:31 ID:43TcIdUK.net]
noxではなくMumuで裏マクロをしたいのですが、CMD = "~~"の中身を書き換えるだけでは動きませんでした
パス部分をMumuのadbがある場所にすればいいのかなと思ってこうしたら
CMD = "cd C:\Program Files\Mumu\emulator\nemu\vmonitor\bin & adb_server shell input touchscreen tap " + 100 + " " + 100
PRINT CMD
DOSCMD(CMD)

PRINTで表示されたのはこうで
cd C:\Program Files\Mumu\emulator\nemu\vmonitor\bin & adb_server shell input touchscreen tap 100 100
コマンドフロンプトに入力するとこう返ってきました
error: device '(null)' not found

本スレ21の>>879と同じ?だと思うのですが、>>880の指す「いつものという感じ」が何なのか分かりませんでした。

612 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 23:53:28.48 ID:56eN38dl.net]
>>574
server叩いて何してんのよという話
まずはコマンドプロンプトなりで普通にコマンド叩けるようになってからスクリプトにしなされ

613 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 19:46:27.81 ID:lD8f3lrI.net]
もうここは初心者用スレとして成立してないなw

614 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 00:59:28.66 ID:VzIBlOls.net]
本当の初心者なんですけどどこがおすすめですか?
さっぱり分かりません

615 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 10:56:26.42 ID:lDgwg3+p.net]
573です。sdk?入れてそこのadb.exe指すようにしたら裏マクロ動きました
DOSCMDから実際にタップされるまで半秒ほどかかっているのと、コマンド実行したらMumuを再起動するまでやたらカクつくようになるのはなぜでしょうか

616 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 11:26:37.80 ID:u7RWFF/r.net]
Mumuってエミュが重いか単純にPCのスペック不足

617 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 12:00:09.18 ID:OHjSk6WK.net]
スクリプトが悪いのでは
本スレで話題になってたように画像認識にウエイトがないとかそういう

618 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 19:50:24.51 ID:D8fZkyt4.net]
コマンドプロンプトで試して同じ挙動かどうか
まずは原因がUWSCなのか、PCその他環境なのか調べないと

619 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 21:25:34.41 ID:+LcZYIpJ.net]
excelのfindで見つからなかったときのcomエラー回避ってあるんでしょうか?
wikiみても載ってないし、vbaにあるIS NOTHINGも使えないし・・・



620 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 21:31:30.08 ID:+LcZYIpJ.net]
すみません、自己解決しました

621 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 17:05:22 ID:4XbBvaET.net]
saveimg(gazou,0,200,300,30,30,,0,img_fore)

とした時は今見えている画面の200,300の位置の30,30サイズのbmpが保存されますか?

またその画像を指定して同じ画面で画像検索できますか?

622 名前:デフォルトの名無しさん mailto:sage [2020/02/07(金) 20:48:29.13 ID:SnbR1xpB.net]
されないんじゃない
てか動かしてから聞きにきてくれよ

623 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 14:17:47 ID:+d0DSBvE.net]
f12でソース見ると色の指定は#rrggbbで統一されてるのに
iegetsrcで全文抜き出して見ると部分的にrgb(n,n,n)になっている
なぜこんなことに…

624 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 09:25:47 ID:1HOipiaV.net]
すいません質問させてください
クリップボードに取り込んだwebのタイトルをそのままファイル名にして保存したくて調べているのですが
クエスチョンやスラッシュなどファイル名に使えない文字を変換してクリップボードに上書きする方法はありますか?
よろしくお願いします

625 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 09:33:54 ID:1Poklgsp.net]
変換とはどういうこと?消せばいいの?

626 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 09:50:5 ]
[ここ壊れてます]

627 名前:7 ID:1HOipiaV.net mailto: 消すかアンダーバーなどの使える文字に変換したいと思ってまさ。 []
[ここ壊れてます]

628 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 09:51:59 ID:1HOipiaV.net]
消すかアンダーバーなどの使える文字に変換したいと思ってます。

629 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 09:52:58 ID:1Poklgsp.net]
Replaceで置換は?



630 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 11:58:20 ID:RHbccdbo.net]
ありがとうございました。
Replaceでうまく変換出来ました。
助かりました。

631 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 21:11:27.70 ID:bpMBC8cG.net]
すみませんが、知っている方がいらしたら、教えて下さい。
Pro版のシリアルはなんですか?

632 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 22:23:49 ID:xFD8Q/oe.net]
いいえなんではないです

633 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 08:38:19.27 ID:8+JNVm+N.net]
ゲームでレベリングのマクロ組みたいんですが
操作としては左右移動(右移動キー押しっぱなしで左移動キーで調整するやり方)しながら左クリック連打だけです
while 1
KBD(VK_D,DOWN)
while 1
KBD(VK_A,DOWN)
sleep(1)
KBD(VK_A,UP)
sleep(1)
wend
wend
左右移動はこれでできたんですが、ここに左クリック連打入れようとすると上手くいきません
どうすればいいですか?

634 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 09:28:56.69 ID:E5mfm90d.net]
関数化してthreadで別々に動かす

635 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 09:36:31.31 ID:8+JNVm+N.net]
何やら新しいUWSC知識が必要のようですね
調べてきます

636 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 13:31:47 ID:8+JNVm+N.net]
まったく意味がわかりませんでした

637 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 13:39:26 ID:Nl/flVcz.net]
>>598
ヘルプのスクリプト構文のスレッド生成読んだ?
それに当てはめるだけなんだけど

638 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 14:00:08 ID:8+JNVm+N.net]
thread BTN()
BTN(LEFT,CLICK,666,374,200)
とかなんか色々やってみたけどだめですね

639 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 14:20:06 ID:8+JNVm+N.net]
他のマクロソフトと組み合わせて操作できました



640 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 14:32:16 ID:E5mfm90d.net]
それならuwsc2つ起動する方がマシな対処だが…まあ希望が満たせりゃあ何でもよかろ

641 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 15:51:14.43 ID:I/ufwmzm.net]
Threadって便利なんだけど変数に同時参照すると固まるのがな
確率的には物凄く低いんだろうけど・・・

642 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 16:30:35.09 ID:Nl/flVcz.net]
参照してるだけで変数を書き換えてなければ大丈夫とおもったんだけど

643 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 19:08:00 ID:vTx0gGjB.net]
スレッドが最大64個も作れるから面白いんだよな

644 名前:デフォルトの名無しさん [2020/03/29(日) 20:54:34 ID:Qbasze3R.net]
初心的質問で申し訳ありません。
ページ内の画像を探し見つければクリック、見つからなければスクロール+画像検索、
を三回繰り返して見つからなければ処理を停止してメッセージを出すというマクロを考えているのですが、まぁ難しくて
とっかかりすらつかめていません。
ご教示いただけませんでしょうか。よろしくお願いいたします。

645 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 20:58:57 ID:pPr1xaO6.net]
自分ではどこまでできたの?コード貼ってくれ

646 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 21:50:02 ID:/EyNUXLu.net]
>>606
まずそれぞれ単体で動くものを作る
ページ内の画像を探す
クリックする
スクロールする
三回繰り返す
処理を停止する
メッセージを出す

あとは条件とかでくっ付けるだけ

647 名前:デフォルトの名無しさん [2020/03/29(日) 21:59:10 ID:Qbasze3R.net]
>>607
>>608
すいません、一番基本的な動きすらまともに作れてません…

ifb chkimg("img.bmp")
btn(left,click,g_img_x,g_img_y)
else
KBD(VK_SPACE)
print "画像が見つかりません"
endif

648 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 02:39:01 ID:bxGMTHZO.net]
>>609
そのサイトがどうなってるかわからないからなんとも言えないけど
スクロール量をコントロールするの難しくないか?
違ったアプローチが必要な気がする

649 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 02:57:48.27 ID:fgzboYRU.net]
g_img_x g_img_yがどこの位置か知ってる
クリックするのはその座標で間違いない



650 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 03 ]
[ここ壊れてます]

651 名前::21:30.15 ID:bxGMTHZO.net mailto: ああ、そうか 失礼しました []
[ここ壊れてます]

652 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 05:32:35 ID:Lez7EJJt.net]
画像 = 画像の場所.bmp
カウンター = 0

while カウンター < 3
ifb chkimg(画像,画像の色、位置指定)
sleep(1)
btn(left,click,g_img_x,g_img_y,50)
else
btn(left,down,画面のどこかx,画面のどこかy,50)
mmv(スクロール幅)
btn(left,up,上と同じx,スクロール幅y,50)
print "再検索"
カウンター = カウンター + 1
endif
wend

653 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 09:11:09 ID:K5J2OuWJ.net]
スペースキーで1ページ分スクロールするの知らないのだろうか…

654 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 10:27:43.27 ID:Lez7EJJt.net]
>>614
ごめん、知らなかった
それってゲームのフレンド一覧でも使えたりする?

655 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 11:10:38 ID:/ApxdN83.net]
普通は無理でしょう

656 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 11:26:59.29 ID:8cfGBpvw.net]
いや、>>609で、スペースキー押してるじゃん
608の勘違いの可能性も否定できないけど、スクロールでまず思いつくPgDownじゃないから、多分、普段行っている操作なんだと思う
今の段階で、スペースキーでスクロールしない対応しても、複雑になるだけで意味ないよ


あと、
>>611さんのコメント、文尾に?がついてないせいで、逆の意味になってるよ
IF文の真偽が出てないけど、printの位置から、スクロールしなかったんだと思うから、とりあえず真と仮定
真の場合は、クリックが失敗してるわけだから、まず、クリック位置を怪しむべき

657 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 13:03:44 ID:Lez7EJJt.net]
>>616
無理かぁ
じゃあこのまま行くか

>>617
btnにx軸y軸はあるけど最後に時間入れてないのって問題ないの?

658 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 14:25:56 ID:8cfGBpvw.net]
608=612,4,7 は無理があるから別人だよね

btnの時間引数は、必要な場合もあるし重要だけど、必須じゃないよ
手でクリックして動作するタイミングなら問題無いよ
時間調整が必要なのは、フォーカスの変更の様な、直前のコマンドの結果、Windows上で何かが変るのを待つ必要がある場合
調整しないと、変る前に動いちゃう事があるから、思い通りに動かないんだよ
経験上、btnで時間調整するより、sleep使った方がうまくいったし

それよりも、g_img_x,yって画像の端だから、画像の中央側にクリック位置をずらさないと画像をクリックしたことにならないよ
画像ファイルを、実際の画像よりも小さめに切取った場合は別だけど

659 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 15:44:58.10 ID:Lez7EJJt.net]
>>619
ごちゃごちゃと横から質問してごめんよ
自分は608ではないよ
時間も必須だと思ってた
詳しくありがとう



660 名前:608 [2020/03/31(火) 00:24:53.60 ID:q/ETdZzS.net]
sleep(2)
SPEAK("処理開始")
img=PARAM_STR[0]
rep = PARAM_STR[1]//繰り返す回数


counter = 0
while counter < rep
ifb chkimg(img)
sleep(1)
SPEAK("画像発見。")
 CALL called.uws(g_img_x,g_img_y)
 counter = counter + rep
else
KBD(VK_SPACE)
sleep(1)
counter = counter + 1
endif
wend

IFB counter=rep
SPEAK("ストップ")
BREAK
ELSEIF counter>rep
SPEAK("次の処理へ")


endif
KBD(VK_SPACE)

661 名前:608 mailto:sage [2020/03/31(火) 00:30:49.69 ID:q/ETdZzS.net]
誤投…orz完全に使うやつをカキコしてしまった
皆様のおかげでなんとか動かせるものが作れました!ありがとうございます
別の質問になってしまうのですが、callで呼び出した関数の…例えば上記のストップで親含めて停止させることは出来ますか?
よろしくお願いいたします

662 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 10:40:38 ID:EP7/8t0I.net]
exitとexitexit

663 名前:調べよう
どうでもいいけどwhile内のifbでいずれにせよsleepするならifbの外でいいのではと思った
[]
[ここ壊れてます]

664 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 21:15:58.74 ID:yfraQy7x.net]
画像検索する範囲をちゃんと座標で指定するようにしたら早くなった

665 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 01:17:38 ID:Nxi8vX8D.net]
ChkImgXって普通に使えてる?
なんかうまく作動しない

666 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 05:11:08.81 ID:HYKxrR9Z.net]
長時間使ってると極稀にエラー起こすけど基本問題無いな

667 名前:デフォルトの名無しさん mailto:sage [2020/04/15(水) 07:04:01 ID:+ql6+04R.net]
>>625
癖はあるけど動いている

バックグラウンド動作の画像認識はDirectX描画じゃないと駄目っぽい
chkimgではヒットするのにchkimgxでは全くヒットしない画像がある。chkimgxっていうか使ってるOpenCVライブラリの問題なんだろうけど

668 名前:デフォルトの名無しさん mailto:sage [2020/04/25(土) 20:57:41.86 ID:+DYe+iEQ.net]
uwscを使用していると稀に external exception C0000264. と出てくるのですが、これはどうしたら出なくなりますか?

669 名前:デフォルトの名無しさん mailto:sage [2020/04/26(日) 11:35:57.42 ID:yth2UhWM.net]
0xc0000264で調べて諦めるといい



670 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 19:11:57.36 ID:hfp4FbZC.net]
chkimgxを複数の並列処理で使用したいのですが上手くいきません。
一つのプロセスでしか機能しないのでしょうか?
複数で使えるのであればやり方などお教え頂きたいです。

671 名前:デフォルトの名無しさん mailto:sage [2020/05/02(土) 22:26:35 ID:yTTamFYE.net]
グローバル変数に結果格納してるわけでタイミングによっては書き換えられてしまうからでは
どういううまく動かないかが分からんけど、これが原因なら実行後すぐに別の変数に退避するかスレッド別になるようにライブラリ書き換えるか、等々

672 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 14:58:09 ID:J77i8eFq.net]
procedure 並列()
while trur
if chkimgx(画像1.bmp,指定id1〜
msgbox(ok)
endif
sleep(1)
wend
fend

↑の様なものを並列処理で別のウィンドウidを指定し3つ程動かしているのですが、chkimgxでエラーが発生しました。と表示されて動作しません。
どういった方法を取れば解決出来ますでしょうか?

673 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 17:30:45 ID:2n/B6drN.net]
お前には無理だから諦めろ

674 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 19:36:38.64 ID:JpRTnUDx.net]
startup_chkimgx()してないだけでしょ

675 名前:デフォルトの名無しさん mailto:sage [2020/05/04(月) 23:58:16 ID:pqlhkoPy.net]
>>631
> これが原因なら実行後すぐに別の変数に退避するか
それでもタイミング次第で駄目だよ

chkimgx実行前後に排他処理入れるしか解決方法ない

676 名前:デフォルトの名無しさん [2020/06/26(金) 12:54:56.86 ID:qsHwziaQ.net]
サクラエディタの質問になってしまうのですが、指定した行、例えば2,6,14,32行を1度にコピーしたり挿入するにはどうすればできますか。
よろしくお願いします。

677 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 13:04:26 ID:PH3cJrMz.net]
何がよろしくお願いしますだよ、スレチ過ぎて回答なんか来ないぞ

678 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 13:44:24.55 ID:ECSKM2w9.net]
サクラエディタってマクロないのかよ

679 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 18:59:51.57 ID:42Sy87qY.net]
あったはず



680 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 19:24:43.88 ID:nyM1H0WV.net]
UWSCのマクロを作るのにサクラエディタを使っているけどスレチだな

681 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 19:32:51.02 ID:nyM1H0WV.net]
そういやサクラエディタと
大昔にMIFES、VZ、 WZエディタを使っていたけど
評判の良い秀丸エディタは使った事が無かった

682 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 19:59:38.01 ID:ECSKM2w9.net]
秀丸のマクロをUWSCのセレクトボックスに登録して呼び出して使ってたりする

683 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 20:10:29.72 ID:42Sy87qY.net]
秀丸エディタは有料だから手を出す気にならない

684 名前:デフォルトの名無しさん mailto:sage [2020/06/27(土) 00:34:23.45 ID:iUYo3nGX.net]
秀丸=四千円もするもんな

685 名前:デフォルトの名無しさん mailto:sage [2020/06/27(土) 07:47:14.58 ID:Jk2b87/7.net]
>>644
やめろ

686 名前:デフォルトの名無しさん mailto:sage [2020/06/27(土) 14:33:58.98 ID:LSvaexnY.net]
このネタわかる人は高齢者

687 名前:デフォルトの名無しさん mailto:sage [2020/07/03( ]
[ここ壊れてます]

688 名前:金) 01:22:06.10 ID:Dvup0ZMV.net mailto: 質問です
初めてuwsc入れたのですが記録ボタンが灰色になっていて操作が出来ません
色々調べてみたけれどもイマイチよく分からなかったのですがどうすればいいでしょうか?
win10のdynabookです
[]
[ここ壊れてます]

689 名前:デフォルトの名無しさん [2020/07/04(土) 09:42:53.15 ID:bhHjhVrL.net]
>>647
UWSC.exeと同じフォルダにRecUws.dllありますか?



690 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 13:54:48 ID:3Gp7+FfQ.net]
>>648
あります
その後が分かりません…

691 名前:デフォルトの名無しさん [2020/07/04(土) 14:06:52.81 ID:BpefeSFV.net]
     ○ ○
  ○
○      ○
    ●    ○
       ○

●が自機で、○が敵です
●から一番近い○を順にタッチしていきたいのです(●は移動するが○はその場所から消えない)
が、どうやればいいのか皆目検討がつきません
こういうアルゴリズムって何ていうんでしょう

692 名前:デフォルトの名無しさん [2020/07/04(土) 14:11:12.78 ID:BpefeSFV.net]
間違えました
×(●は移動するが○はその場所から消えない)
○(●は移動する。○はタッチすると死骸×に変化する)
でした

693 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 16:00:55 ID:rpET5GXf.net]
アルゴリズムは知らんけど
CADCAMの工作機械ドリル穴あけパスの最短距離
自動生成機能みたいなやつだな

694 名前:デフォルトの名無しさん [2020/07/04(土) 16:29:11.29 ID:OTAHPrbr.net]
巡回セールスマン問題?
これを真面目にやると面倒だけれど、
接近してきた画像を押すだけなら
野暮な力技で十分な気がする。

695 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 16:38:02 ID:VhIEqfUN.net]
>>650
単純に距離√(xx+yy)で当たり判定で良いんじゃまいか

696 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 17:17:22.17 ID:DEQjmcqB.net]
>>654
欲しいのは距離じゃなくて近い奴だから
ルート取る必要ないだろ。

697 名前:デフォルトの名無しさん [2020/07/04(土) 17:38:19.56 ID:TN5VprEm.net]
>>655
は?

698 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 17:46:26.32 ID:1QfEBuvL.net]
ルートを計算しなくても大小関係変わらんだろ
今回に関してはバカに絡まれるデメリット背負ってまでルートの計算負荷を減らす意味はないと思うけど

699 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 17:56:59.79 ID:VPpCSEzQ.net]
>>651
白は移動したら移動後の位置から近い位置の黒にいくのと、それとも元の白の位置を基準にするのとどっち?
まあ、前者でも後者でもやることはchkimgなりで位置のリストが取得できるからそれ使って白位置の近似値からタップするだけよ
アルゴリズム? 知らんな



700 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 18:01:03 ID:Mq6JcoKF.net]
距離と分かる式にするか処理を少しでも軽くするかは一長一短で
自分が一番初めに思いついた方にしとく方が可読性が上がる
人に言われて変えるものではないと思う

701 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 18:08:20.26 ID:DEQjmcqB.net]
>>657
これさあ、昔読んだ叫ぶCプログラマっていう本に出てきた一節でさ。
それとも同じ作者のプログラマを笑えだったかな。

702 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 18:10:16.03 ID:DEQjmcqB.net]
>>659
この程度じゃコメントすら要らんだろ。
ま、距離の大小は2乗の時点で判明とかコメントつけときゃOK

703 名前:デフォルトの名無しさん [2020/07/05(日) 14:07:22.77 ID:s67fMTSC.net]
1) 視界内の全敵位置取得
2) abs(自XY - 敵XY[数])で並べて近い敵に移動してタッチ
の繰り返しでやろうと思います
ありがとうございました

704 名前:デフォルトの名無しさん mailto:sage [2020/07/27(月) 17:13:01.26 ID:LFattNL9.net]
noxで
1,画像Aを探してタップ(見つからなくなるまで)
2,画像Bを探して見つからなかった

705 名前:迚コにスワイプして1に戻る
3,画像Bが見つかったら終了
のような動作をさせようと思って以下のように作って見たのですが、画像Aを発見してループ2を一周した後は画像Aと画像Bが見つからないが交互に出てループ1から抜け出せない状態です。
print "テスト開始"
while True //ループ1開始
while True //ループ2開始
ifb CHKIMGX("画像A.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
print "画像Aを発見しました。"
X1 = g_imgx_x + 5 + random(5)
Y1 = g_imgx_y - 30 + 5+ random(5) // ウィンドウ枠分の座標補正とクリック位置調整
DOSCMD("nox_adb shell input touchscreen tap " + X1 + " " + Y1)
sleep(2)
DOSCMD("nox_adb shell input touchscreen tap 384 541")
sleep(2)
DOSCMD("nox_adb shell input touchscreen tap 272 523")
sleep(2)
else
print "画像Aは見つかりませんでした。"
break
endif
wend //ループ2終了
ifb CHKIMGX("画像B.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)=FALSE
print "画像Bは見つかりませんでした。"
DOSCMD("nox_adb shell input swipe 288 600 288 300 600")
sleep(2)
else
print "画像Bを発見しました。"
break
endif
wend //ループ1終了
[]
[ここ壊れてます]

706 名前:デフォルトの名無しさん mailto:sage [2020/07/27(月) 17:21:22.43 ID:LFattNL9.net]
ちなみに画像Aがない状態でスタートすると、画像Aが表示されるまで下にスワイプ(途中に画像Bがあってもスルー)してループ2を1周してからまた画像AとBが見つからないループに入ってしまいます。
また、adbを使わないマウスが取られるマクロの方は一応問題なく動いてます。

707 名前:デフォルトの名無しさん [2020/07/27(月) 18:37:45.17 ID:Ig/59khU.net]
winid = getid("NoxPlayer")だろうとwinid = getid("メモ帳")だろうと関係なくwinidが1になってしまうのは何故なんでしょうか。

708 名前:デフォルトの名無しさん mailto:sage [2020/07/27(月) 19:56:01.58 ID:VYBQARBr.net]
>>663-664
単にスワイプ後の慣性で画面が動いてて画像認識出来てないだけじゃない?

画像をタップする座標は乱数入ってるのにその後のタップやスワイプは固定座標なのとか
色々ツッコミどころはあるけど、まずはタップとスワイプを関数化しておくのをオススメする

procedure tap(x, y)
  doscmd("nox_adb shell input touchscreen tap " + x + " " + y)
fend

procedure swipe(x1, y1, x2, y2)
  doscmd("nox_adb shell input swipe " + x1 + " " + y1 + " " + x2 + " " + y2)
fend

709 名前:デフォルトの名無しさん mailto:sage [2020/07/27(月) 20:31:25.50 ID:LFattNL9.net]
>>666
回答ありがとうございます、スワイプ後の慣性も考えてsleepを長めに取ったり、最初の時点で画像Aが複数ある状態でスタートしても結果は変わらずでした。
procedureは使ったことがなかったので、調べながら修正してみます。



710 名前:デフォルトの名無しさん [2020/07/27(月) 21:12:51.27 ID:2I3xUck9.net]
サイトハッキングて意外と簡単やな
re-file.com/18k/1669/

711 名前:デフォルトの名無しさん [2020/07/27(月) 21:21:06.80 ID:Y/C2ypnr.net]
>X1 = g_imgx_x + 5 + random(5)
>Y1 = g_imgx_y - 30 + 5+ random(5) // ウィンドウ枠分の座標補正とクリック位置調整
これさあ
変数名って大文字小文字区別するんだっけ

712 名前:デフォルトの名無しさん mailto:sage [2020/07/27(月) 21:49:14 ID:LFattNL9.net]
>>669
X1とY1をaaaとbbbにしてみたらちゃんと動作してくれるようになりました。
大文字と小文字を区別するにしても変数にx or y+数字は安直過ぎました。
解決方法を教えていただきありがとうございます。

713 名前:デフォルトの名無しさん mailto:sage [2020/07/27(月) 22:31:39.36 ID:3jtmTLJJ.net]
>>668の本当の内容

【閲覧注意】【メキシコ】麻薬カルテル、元組織のメンバーを「皮剥ぎの刑」に処す - 18禁グロ

▼カテゴリ - 18禁グロには一部、異様・奇怪・猟奇的・暴力シーン・グロテスクな表現が含まれていますので、閲覧制限をしています。

1. 18歳未満は閲覧禁止です。
2. 耐性が無い方は閲覧しないでください。
3. 閲覧は自己責任でお願い致します。

※上記、18歳以上で同意できる方は入室

714 名前:してください。
PASS:7777
[]
[ここ壊れてます]

715 名前:デフォルトの名無しさん mailto:sage [2020/07/28(火) 01:07:54 ID:dFO+mkSs.net]
>>667
まず画像Aと画像Bを認識出来てる?
同じ画像に見えても表示される座標が変わると一致率も変わっているとかよくある

どこが問題か分かりやすくするために、デバッグは小さいパーツに分けてやったほうが良い
例えばスワイプ後に画像Bを探すだけのコードを試すとか

716 名前:デフォルトの名無しさん mailto:sage [2020/07/28(火) 10:35:41 ID:PZ7FD++0.net]
>>672
画像Aや画像Bの認識は問題なく、>>669であるように変数にx1とy1を使っていたのが原因でした。

717 名前:デフォルトの名無しさん mailto:sage [2020/07/28(火) 11:33:20.45 ID:hWwhsWN2.net]
どなたか>>665について分かる方みえませんか?
getid("アプリ名")をしても起動中のアプリは1、起動していないアプリは-1となり、1か-1しか結果が返ってきません。
ウインドウIDを取得したいのですが、何がいけないんでしょうか。
UWSC5.3.0.2、win10 64bitです。

718 名前:デフォルトの名無しさん mailto:sage [2020/07/28(火) 11:45:37 ID:PZ7FD++0.net]
>>672
更に質問で申し訳ないのですが、procedure使ってswipe(x1, y1, x2, y2)のようにして簡略化することはできたのですが、ここから更にランダム性をprocedure上で反映させるにはどうしたら良いでしょうか?
とりあえず今のところメインとなるuwsファイルで
swipe(x1+ random(5), y1+ random(5), x2+ random(5), y2+ random(5))
のようにすれば動作することは分かったのですが、producerで一括して処理しようと思い
procedure swipe(x1, y1, x2, y2)
  doscmd("nox_adb shell input swipe " + x1+ random(100) + " " + y1+ random(100) + " " + x2+ random(100) + " " + y2+ random(100))
fend
としてみたのですがエラーは出ないもののなにも動作しない状態です。

719 名前:デフォルトの名無しさん mailto:sage [2020/07/28(火) 12:32:50.82 ID:BIndr6P+.net]
>>674
winidはそもそも数値で表現されるオブジェクトじゃない
あえてそれを表示しようとすると1/-1で状態を返すという仕様なだけで別にidが1/-1ではない

>>675
doscmdの()内で+で記述すると加算された合計値じゃなくてそれぞれが文字列で結合されちゃうんじゃかいかな?
括弧でくくってやればいいと思うよ



720 名前:デフォルトの名無しさん mailto:sage [2020/07/28(火) 13:09:15.41 ID:PZ7FD++0.net]
>>676
おっしゃる通りにしたところ上手く動作してくれました、ありがとうございました。

721 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 10:55:03 ID:A3rem5Z4.net]
吹き出しが下から噴き出すプログラムを作ってみた

PUBLIC RZZ=0
While true
FKIDSI()
Fukidasi(RZZ,1200,10,0,3,,,$AAAAAA)
Wend
procedure FKIDSI()
IF RZZ<64
Thread FKDSSUB()
ENDIF
fend
procedure FKDSSUB()
RZZ = RZZ + 1
Xinc = ((random(6)+1) * (random(2)*2 -1)) /1.9
Yinc = (random(8)/10+0.2) /4
z=random($FFFFFF)
X=640
Y=1010
for i=-100 TO 100
Fukidasi(" ", X, Y, 0, ,,,Z)
SLEEP(0.01)
Ymov = Yinc * i
X = X + Xinc
Y = Y + Ymov
next
RZZ = RZZ - 1
fend

722 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 10:59:28 ID:Bo5IFXl7.net]
fendって何だっけ

723 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 10:59:55 ID:Bo5IFXl7.net]
procedure閉じてるのか

724 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 11:05:00.24 ID:A3rem5Z4.net]
あとマウスカーソルについてくる吹き出し
PUBLIC RZZ=0
PUBLIC X=0
PUBLIC Y=0
XX=0; YY=0;
WHILE TRUE
FOR RZZ=0 TO 55
F=0;
WHILE (F=0)
XX = X; YY = Y;
X = G_MOUSE_X; Y = G_MOUSE_Y;
IF (XX <> X) OR (YY <> Y)
F=1
ENDIF
WEND
Thread FKDSSUB()
NEXT
WEND
procedure FKDSSUB()
TZ=RZZ-1
IF TZ = -1 THEN TZ = 55
Fukidasi(RZZ, X+10, Y+10, 0, ,,,random($FFFFFF))
WHILE TZ <> RZZ
SLEEP (0.01)
WEND
FEND

725 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 12:38:15.63 ID:I5HfbaHP.net]
死ぬほど読みづらいから

726 名前:コード貼る時は適度な改行とインデントつけてくれ
5chだとアンダーバー4つか全角スペース2個でインデント1つになる

while True
____ifb

while True
  ifb
[]
[ここ壊れてます]

727 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 14:01:23.40 ID:U7vGE7b3.net]
>>678 >>681
インデントされてれば引用で専ブラで見れるはず

728 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 14:34:06.11 ID:Bo5IFXl7.net]
自分で好きに整形しろ

729 名前:デフォルトの名無しさん mailto:sage [2020/08/01(土) 16:55:40.92 ID:Uz4ilC0D.net]
「Harigami」を使ってみてはどうだ

ttps://harigami.jp/cd?hsh=8e4b495c-d3f3-4267-9154-8d83dc1cbd8b



730 名前:デフォルトの名無しさん [2020/08/16(日) 21:01:17.32 ID:k+kUeFyT.net]
CHKIMGXをWHILE TRUEの外に出すとエラーが出てしまいます。
なぜなんでしょう
下記でメインからサブ関数でCHKIMGXは読んでいます

// ChkImgX関数をインクルード
CALL ChkImgX.uws;

while true
TRY
startup_chkimgx() //CHKIMGX関数開始

 ****ここにプログラム
 CHK(LOC)

FINALLY
shutdown_chkimgx() //CHKIMGX関数停止
ENDTRY

wend

function CHK(loc[])
  CHKIMGXをここで使う
FEND

731 名前:デフォルトの名無しさん mailto:sage [2020/08/17(月) 02:52:44.83 ID:UvoRp25i.net]
何エラーよ

732 名前:デフォルトの名無しさん mailto:sage [2020/08/17(月) 19:53:01.04 ID:KciEC6qM.net]
*_chkimgxは何度も呼び出すような関数じゃないよ
どっかでリークしてるオチじゃないの

733 名前:デフォルトの名無しさん [2020/08/17(月) 23:35:10.11 ID:wjXkQQv2.net]
TRYがWHILEENDの中でずっと回っていたのだけど、
WHILEENDの外に出したら治った・・・
皆様ありがとう

734 名前:デフォルトの名無しさん [2020/08/18(火) 12:57:20.18 ID:suCzDasT.net]
CHKIMGやCHKIMGXの画像検索範囲について質問です。
大きさ10x10の画像を0,0 100,100の範囲から探す場合
画像左上のピクセルが100,100に到達するまで検索しているのか
画像右下のピクセルが100,100に到達かのどちらでしょうか

735 名前:デフォルトの名無しさん mailto:sage [2020/08/18(火) 18:59:40.87 ID:5Qy/mHcW.net]
右下かなと思うが、試してみたら?
チェッカーパターンな背景作ってマスの画像で検索

736 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 22:09:27.14 ID:fUjg46/2.net]
uwscの実行中に離席した場合などでディスプレイの電源が切れないようにする方法ってないでしょうか?
今は5分に1回マウスを動かす処理を入れて対応していますがネット閲覧時にいきなりマウスが動くので操作しにくいです
コントロールパネルの電源オプションで設定を変更すればよいのはわかりますがuwsc実行中だけというのが理想です
よろしくお願いします

737 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 22:16:34.51 ID:wdeVv3mH.net]
UWSCで電源オプションの設定を変えれば

738 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 22:57:57.26 ID:85wlAF9N.net]
>>692
事前に2種類の電源プランを作っておき
UWSCのスクリプト内で
doscmd関数を使い
Powercfg.exeに電源プラン変更コマンドを送る

コマンドについては以下を参考に
https://ascii.jp/elem/000/001/877/1877882/

うまく組めばマクロ終了時に電源プランを自動的に戻すことも可能

739 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 23:09:28.81 ID:pBGvn6/E.net]
//五分に一度 ALT を押してスリープ回避
while 1;sleep (300);kbd(vk_alt);wend;



740 名前:デフォルトの名無しさん mailto:sage [2020/09/03(木) 00:02:11.56 ID:vpra+F8w.net]
>>692
DEF_DLL SetThreadExecutionSta

741 名前:te(DWORD): DWORD: kernel32
CONST ES_CONTINUOUS = $80000000
CONST ES_DISPLAY_REQUIRED = $02
SetThreadExecutionState(ES_CONTINUOUS or ES_DISPLAY_REQUIRED)
[]
[ここ壊れてます]

742 名前:デフォルトの名無しさん [2020/09/03(木) 20:27:05 ID:ha/scr+l.net]
>>692
外部ソフト併用で良ければ
FavSleepStopはおすすめ。

743 名前:デフォルトの名無しさん [2020/09/24(木) 12:33:36.91 ID:eUQ7jF7Q.net]
画像aが出るまでループし、画像aが出たらreturnという仕組みにしたいのですが
ループせず最後の所で止まってしまいます。少々省略しないと貼れないので省略しますが
これどうなっているんでしょうか?どこが間違いでしょうか?そのまま貼ります。



WHILE (CHKIMG("A.bmp")=FALSE)
SLEEP(0.5)
KBD(VK_P,DOWN,50)
KBD(VK_P,UP,50)
SLEEP(0.5)
WEND
IFB CHKIMG("A.bmp")
SLEEP(0.5)
KBD(VK_O,DOWN,50)
KBD(VK_O,UP,50)
SLEEP(0.5)
ENDIF

744 名前:デフォルトの名無しさん mailto:age [2020/09/24(木) 12:35:05.91 ID:eUQ7jF7Q.net]
画像aが出るまでループし、画像aが出たらOという仕組みにしたいだった

745 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 17:12:59.11 ID:FiwMBeQt.net]
単にループさせるだけなら

While 1

Wend
で良くね なんか条件が書いてあるからループしなくなるのでは

746 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 17:13:38.10 ID:FiwMBeQt.net]
あとWendより後にifbがあるからループの中に条件がないね

747 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 21:34:49.94 ID:mGnJTDMd.net]
>>698
これをみても特に問題があるとは思えない

>ループせず最後の所で止まってしまいます。

疑問1:ループしていないことをどう確かめたのか?
疑問2:最後の所とはどこか?
疑問3:終わるではなく止まるなのか?

ループ中、ループ後に PRINT か MSGBOX かを入れて
たしかにそこを通ってるかどうか確かめたほうがいいと思う

MSGBOXを使う場合はどうせテストなのでループ中のSLEEPは
2秒くらいとったほうが扱いやすい

748 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 21:45:43.40 ID:/TzBJHGH.net]
こんなこと書いてるしネタだろう
>少々省略しないと貼れないので省略しますが
>そのまま貼ります。

749 名前:デフォルトの名無しさん mailto:sage [2020/09/29(火) 22:34:47.52 ID:FsRpumhX.net]
記録すらできないアプリがあるのか…これどうなってんだ
アプリはR2games.comのR2Client
12月末のFlash終了後このclientで引き続きプレイできるそうなのでインストールしてみたのだけど
UWSCで記録が全くできないので自動化が出来ない



750 名前:デフォルトの名無しさん mailto:sage [2020/09/29(火) 23:38:54.63 ID:0MYSuhb/.net]
まあ、中身Flashのままみたいだからなあ

751 名前:デフォルトの名無しさん mailto:sage [2020/09/29(火) 23:48:20.89 ID:FsRpumhX.net]
いやgetidすら取得できない

752 名前:デフォルトの名無しさん mailto:sage [2020/09/30(水) 16:30:38.78 ID:QVZpoBrX.net]
flashのid取得するにはまずウィンドウidとって、その次にハンドル取得しなきゃダメだよ

753 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 19:39:40.83 ID:LoI0BqO6.net]
>>704の件は解決したというか
今日起動してみたら問題なく取得できた
なぜ取得できなかったのかはわからないけどこれで懸念事項は払拭できた

>>707は勘違いしてるけど解決したからいいです

754 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 14:26:32.02 ID:fC3or5Mo.net]
ある期間からある期間の月数って、
どうやったら求められる?
例えば2019年10月から2020年3月は6ヶ月。
これを求めたい。

755 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 14:38:31.92 ID:b1fFJk4v.net]
検索したけど分からんかった
年×12+月で引き算+1したら?

756 名前:デフォルトの名無しさん mailto:sage [2020/10/02(金) 15:37:29.99 ID:fC3or5Mo.net]
なるほど!
頭、いいね。
やってみる

757 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 09:16:10.12 ID:A1z8cMTv.net]
autoitを使ってる人いる?

758 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 00:15:11.67 ID:fWH520+c.net]
>>712
今は使ってないが、前は結構使ってた。

759 名前:デフォルトの名無しさん mailto:sage [2020/11/03(火) 22:30:50.25 ID:Ic7gUSD+Q]
【100万円】シルク、ルイ



760 名前:・ヴィトンで全身コーデを買う。
https://www.youtube.com/watch?v=ArFG6a3zymw
【人生最高額】シルク、30,000,000(三千万)円の限定腕時計を買う。
https://www.youtube.com/watch?v=I0U7hZR-Wp8
フィッシャーズ、新車を買う。
https://www.youtube.com/watch?v=u3oJ0AEDaJg
【人生最高額】てつや、時計をヒカキンさんと買う!!
https://www.youtube.com/watch?v=14YguTpGRwc
虫眼鏡、ついにレクサスLS納車
https://www.youtube.com/watch?v=2dgL91ME-M8
ブラーボりょう、アストンマーティンDB11Volanteを購入しました!!!
https://www.youtube.com/watch?v=XSK5yHETdh4
てつやの超高級車が届きました
https://www.youtube.com/watch?v=HKHIPgK7CIQ
人気YouTuberが選んだ車からクジで決めたものガチで買いますwwwwwwwww
https://www.youtube.com/watch?v=RX-1oXyqzO4
はなお、ついにアルファード納車しました。 【クジ引きで引いた車購入】
https://www.youtube.com/watch?v=m-melUBl8YQ
【10000円ガチャ】1回10000円の超高額ガチャ回したらついに大当たりキタァァァァア!!
https://www.youtube.com/watch?v=Ha-s9KD1LyQ
[]
[ここ壊れてます]

761 名前:デフォルトの名無しさん mailto:sage [2020/11/06(金) 23:06:53.83 ID:362vvKB1.net]
2つのスクリプトを同時に実行したいのですがどのような処理を書くべきでしょうか?

//同時.uwsの内容
call 処理1.uws
call 処理2.uws

こんな感じで書いても処理1.uwsが動くだけです
処理1.uwsが終わったら処理2.uwsが動くと思うのですがそうではなく1と2を同時に実行して別々の動きをして欲しいです
uwscの実行ファイルとそれぞれのスクリプトファイルは全て同一フォルダにあるものとします
よろしくお願いします

762 名前:デフォルトの名無しさん mailto:sage [2020/11/06(金) 23:09:52.79 ID:oall+sef.net]
thread 処理1.uws
thread 処理2.uws

763 名前:デフォルトの名無しさん mailto:sage [2020/11/07(土) 20:04:03.01 ID:vukJSlcq.net]
thread が実行できるのは関数なので
処理1.uws, 処理2.uws を関数化したあとで
call 処理1.uws
call 処理2.uws
thread 処理1()
thread 処理2()
とする必要がある

しかしそれだけだと、これを実行しているメインのプロセス自体が
thread を2つ起動した直後に終わってしまう
なのでフラグなどを使っていつまで実行すればいいのか
コントロールする必要がある

thread にする必要がとくになければ
uwsc を2つ実行すればいい
TEST.BAT ---
start C:\uwsc\UWSC.exe C:\uws\処理1.uws
start C:\uwsc\UWSC.exe C:\uws\処理2.uws
---

あと複数のuwsを実行する場合はマウスカーソルや
キーボードは1つしかないので
そういう操作がある場合は
奪い合いが起こることを意識する必要がある

764 名前:デフォルトの名無しさん mailto:sage [2020/11/08(日) 09:07:47.79 ID:96WGa2GX.net]
>>716
>>717
試行錯誤してて返事が遅くなりました
スクリプトの挙動が少しおかしいですが目的通りに動いてくれるようになりました
なんか変だけど動いてるからまあええかとなってしまうから進歩しないんだなと実感しました
ありがとうございました

765 名前:デフォルトの名無しさん mailto:sage [2020/11/15(日) 21:51:04.27 ID:PgpnhPdo.net]
参考にしようと思って開いたnaverまとめが9月末で閉鎖してる…

766 名前:デフォルトの名無しさん mailto:sage [2020/11/25(水) 11:53:39.76 ID:Qh6houu2.net]
>>718
同時に実行されると困るような関数使ってたりするとはまるので注意

767 名前:デフォルトの名無しさん [2020/12/26(土) 22:00:19.24 ID:60sfrFxz.net]
NoxPlayerでuwscを利用していて質問です

IFB CHKIMGX( "1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
DOSCMD
SLEEP(2)
IF CHKIMG( "2.bmp",,,,,,,IMG_MSK_BGR6)
DOSCMD
ELSE
DOSCMD
DOSCMD
ENDIF
ELSE
ENDIF

このような記述にしたのですが、アクティブ中だと2.bmpを認識するのに裏マクロ中だと認識してくれません
2.bmpはPrintScreenからトリミングしたもので、動きなどない固定画像です

CHKIMGX( "2.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
当初はこのように記述していたのですが、これだとアクティブ中でも見

768 名前:つけてくれなかったのでCHKIMGの記述にしてみました

アクティブではない状態で2.bmpを認識するにはどうすればよろしいのでしょうか
[]
[ここ壊れてます]

769 名前:デフォルトの名無しさん mailto:sage [2020/12/26(土) 23:50:39.26 ID:c93B7w+q.net]
>>721
SAVEIMGのIMG_BACKで取得できなかったら
アプリ自体が非アクティブ時の描画をサボってるから
どうやっても取得できない



770 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 00:47:30.15 ID:n8fvXRaD.net]
>>721
VMware等仮想OSの方でNOXを動作させてアクティブにすれば
Vmwareを最小化にしても内部ではアクティブですからね
こういうときは多コアのCPUが有利なので8コアや16コアのCPUを買おう!

771 名前:デフォルトの名無しさん [2020/12/27(日) 01:23:55.59 ID:2030r+Fs.net]
>>722-723
たしかにそのやり方は強引にできそうですが、調べてたらWindows10では無理だったみたいです

ただアクティブ状態でも
IF CHKIMGX( "2.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
これだと画像認識せず
IF CHKIMG( "2.bmp",,,,,,,IMG_MSK_BGR6)
これだと画像認識されるのはどういうことでしょうか

ちなみに画像は異なりますが
IFB CHKIMGX( "1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
こちらは認識してくれているので、記述のミスはないと思います

772 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 06:46:05.34 ID:ILpVLMzN.net]
画像が異なるが答えなのでは…?
実物も見せず言うだけ言われても何も分からんがな

773 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 11:11:31.79 ID:Go+qnVGA.net]
画像が異なるってことはチェックしてる画面が違うわけで
画像以外のパラメータがどれか合ってないのでは

774 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 13:39:37.49 ID:Xj0rz7S9.net]
よく知らないけど、X版とCHKIMGでは判定方法が違うんじやないの?
X版は、かなり暗くても高スコアでヒットするから

775 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 13:58:17.99 ID:lIVD6Aho.net]
CHKIMGX( "2.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
これのx1,y1,x2,y2を使ってsaveimgしたbmpを2.bmpに差し替えてどうか
PrintScreenから作ったbmpがおかしいか、座標がおかしいかわかるでしょ

776 名前:デフォルトの名無しさん [2020/12/27(日) 15:35:17.18 ID:2030r+Fs.net]
>>725-728
いろいろと勘違いさせてしまいました

まず2.bmpの部分はCHKIMGを用いれば画像認識されているので現状意図した動作はされています
ですので、PrintScreenしたbmpがおかしいということもないと思います
疑問なのは、あいまい画像認識のCHKIMGXの方が高確率で認識されると思うのですが、
なぜあいまい画像認識のCHKIMGXでは認識せずにCHKIMGの方でないと認識しないのかとういことです

1.bmpは関係ありません
ただ1.bmpと2.bmpでは認識してもらいたい画像の部分だけ変えてる以外にCHKIMGXの記述を変えてないので、
記述間違いなら1.bmpも画像認識されないから2.bmpが画像認識されないのも理解できるけどっていうことです

777 名前:デフォルトの名無しさん [2020/12/27(日) 16:00:49.64 ID:2030r+Fs.net]
IFB CHKIMGX( "1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
DOSCMD
SLEEP(2)
IF CHKIMG( "2.bmp",,,,,,,IMG_MSK_BGR6)
DOSCMD
ELSE
DOSCMD
DOSCMD
ENDIF
ELSE
ENDIF

これだと2.bmpを認識して動作しますが、

IFB CHKIMGX( "1.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
DOSCMD
SLEEP(2)
IFB CHKIMGX( "2.bmp", winid, x1, y1, x2, y2, Detect_num, Threshold_delta, Target_color)
DOSCMD
ELSE
DOSCMD
DOSCMD
ENDIF
ELSE
ENDIF

これだと2.bmpを認識しないので動作しないということです

778 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 16:46:19.54 ID:Go+qnVGA.net]
PC一回再起動したら?

779 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 19:14:21.24 ID:ILpVLMzN.net]
>>730
だから判定したい場面も判定画像も上げずに目隠しで言われてもエスパー回答しかできねーのよ
ゲームの絵貼りたくないならマス目画像とか適当な背景画像で状況再現したセットをくれ



780 名前:デフォルトの名無しさん mailto:sage [2020/12/27(日) 19:37:44.59 ID:majDbP6B.net]
>>730
X版はデバッグモードあるから有効にしてみたら何かわかるかも知れない

781 名前:デフォルトの名無しさん [2020/12/28(月) 15:08:59.57 ID:Btd6jx/E.net]
自己解決しました、お騒がせしました

782 名前:デフォルトの名無しさん mailto:sage [2020/12/28(月) 15:12:22.09 ID:bQ1hkiX8.net]
原因はなんだった?

783 名前:デフォルトの名無しさん mailto:sage [2020/12/28(月) 15:20:34.10 ID:A2LpudMi.net]
>>734
実際に起きてた問題と原因と解決した方法を報告してね

784 名前:デフォルトの名無しさん mailto:sage [2020/12/28(月) 19:16:35.66 ID:lHgMwOra.net]
>>734
ネットでの質問は、自己解決した場合もその内容を具体的に報告することがマナーとなっていますのよー

そうしないと情

785 名前:報の共有が出来なくて回答者は無駄足になるし、
聞き逃げが続くと誰も答えなくなるかもしれないからね
[]
[ここ壊れてます]

786 名前:デフォルトの名無しさん mailto:sage [2020/12/28(月) 19:31:08.48 ID:RUvOsexB.net]
自己解決したんだから回答者は答えてないのと同じだと思いますが

787 名前:デフォルトの名無しさん mailto:sage [2020/12/28(月) 19:36:28.69 ID:rQ8H54wA.net]
まー多分つまんない勘違いか思い込みだったんだろう
んなもん共有されても参考にならないしいんじゃね

788 名前:デフォルトの名無しさん [2020/12/29(火) 02:36:48.48 ID:HcXyWfHn.net]
仰る通り、回答者もいなかったので記載するほどでもないと思っていました

CHKIMGで認識できて、あいまい認識できるCHKIMGXが認識されなかった問題ですが、CHKIMGXでの認識は無理だと判断しました
SAVEIMGで画像取得しても特に画像に違いが見当たらず、
認識する範囲を画面全体から、認識してもらいたい画像がある範囲のみに絞っても無理
判定閾値の条件を緩くしたら、今度は画像が表示されていないのに認識してしまうほどでした
CHKIMGXでは色幅が利用できないようなので、一見わかりづらいですがおそらくそこに問題があったのではないかと思います

789 名前:デフォルトの名無しさん mailto:sage [2020/12/29(火) 08:14:52.64 ID:VfYR7jYh.net]
CHKIMGXの着目する色では対応できなかったということか

最終的に原因を書いてくれたのだからいいけど
>>721>>724にいくつか回答がついたのだから原因は書くべきでしょう
例え回答が役に立たなかったとしても、回答者は質問に対して時間を割いたのだから
それは質問者の最低限のマナーだとおもうよ
そうでなければ見返りもなく回答する人がいなくなって質問スレは成り立たくなる



790 名前:デフォルトの名無しさん mailto:sage [2020/12/29(火) 09:42:18.91 ID:kNpkOyS+.net]
>>740
>回答者もいなかったので記載するほどでもないと思っていました

うん。それ間違いだから直そうね
それはさておき、範囲の比較じゃ無駄が多いから、peekColorでfunction作ったほうが速いんじゃね
何に使うのか知らんが、ゲームの画面監視でHP・MP・敵と第三者を常時監視して完全な自動戦闘するなら断然軽かったぜ

791 名前:デフォルトの名無しさん mailto:sage [2020/12/29(火) 14:54:12.96 ID:4L/gF/i1.net]
昔mixiゲームにあったクライムワールドで
格下相手に粘着して5万勝以上稼いだのは僕です
マクロ様々でしたね〜!

792 名前:デフォルトの名無しさん mailto:sage [2020/12/29(火) 15:00:52.48 ID:PT/2WgOq.net]
それって金もうかるん?

793 名前:デフォルトの名無しさん mailto:sage [2020/12/29(火) 20:59:49.89 ID:/PhRpDJG.net]
>>740
CHKIMGXはモノクロに変換して比較するから色違いの画像とかには向いてないよ

794 名前:デフォルトの名無しさん mailto:sage [2020/12/30(水) 14:54:33.60 ID:lWlFiWq8.net]
>>740
chkimgxで認識できなくてchkimgだと認識する画像パターンは存在するからね
chkimgxっていうか使ってるOpenCVライブラリの問題だと思う。もしかしたら、こっちのバージョン上げて作り直したら解消するかもしれない

795 名前:デフォルトの名無しさん mailto:sage [2020/12/30(水) 15:51:05.24 ID:jnop5f2w.net]
もう書かれてる通り色の扱いでしょ

796 名前:デフォルトの名無しさん mailto:sage [2020/12/31(木) 09:53:15.79 ID:q35RE35p.net]
windows10の1909から20H2へアップデートしたらブラウザの描画が変わって画像取得をやり直す羽目になった…
フォントはブラウザ毎で異なるのは許容できるけど画像の描画も変わるのは解せない
普段chkimgしか使ったことないけどこういうのはchkimgxで解決できるのかな?

797 名前:デフォルトの名無しさん mailto:sage [2020/12/31(木) 16:07:02.38 ID:898M8IM/.net]
>>748
画像の大きさが同じならある程度吸収するけど
基本はRPAスレでも散々言われてるように環境変わったらその環境用に作り直すしかないよ

798 名前:デフォルトの名無しさん mailto:sage [2021/01/18(月) 00:47:00.68 ID:3GwAoqNL.net]
こういう処理をさせたいのですが、変数?の

799 名前:使い方が違っていてエラー吐いて動きません
どなたか教えていていただけないでしょうか。

マクロ1
for kaisu = 1 to 10
もし、この条件を満たすなら、「処理AA」をCall
next

マクロ2 
処理AA
k=k+1  ←「処理AA」が行われた回数のカウントをしたい
※マクロ1へ戻る

マクロ3
if k = 1 then 操作B
if k = 2 then 操作C
[]
[ここ壊れてます]



800 名前:デフォルトの名無しさん mailto:sage [2021/01/18(月) 00:48:56.41 ID:3GwAoqNL.net]
↑のようなものを作っても
k=k+1 
これが「変数kが定義されていません」エラーを吐いて動きません

801 名前:デフォルトの名無しさん mailto:sage [2021/01/18(月) 00:55:11.99 ID:zDdtgKlc.net]
マクロ2の変数をマクロ3では参照できない
詳しくは変数のスコープでググってくれ

802 名前:デフォルトの名無しさん mailto:sage [2021/01/18(月) 20:36:52.82 ID:3GwAoqNL.net]
できない理由の回答ありがとう
PUBLICを使うことでなんとかなりそうです

803 名前:デフォルトの名無しさん mailto:sage [2021/01/20(水) 13:52:57.09 ID:op6U359o.net]
excel2013以降全般でUWSCでexcelファイルをオープンにする場合と
デスクトップ上からexecelファイルをクリックしてopenする場合では何かexcelの認識が変わるのでしょうか?
excelに後から入れたアドインが上記の場合だとアドインを認識してくれず
下記の場合だとアドインを認識してくれる状態で困っています

804 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 19:37:28.21 ID:lhBS5kaI.net]
お気に入りだったのがサービス終了したもんで
マクロ使ってプレイすると面白いゲーム教えて下さい

805 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 20:24:46.86 ID:CvaL/gK2.net]
クッキークリッカーでも極めたら如何か

806 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 12:52:44.92 ID:CE/PVw/N.net]
裏マクロでの画像認識について質問です

w_id = getid( "エミュレーター" )
mouseorg( w_id ,2 ,MORG_BACK )
を利用した裏マクロを作り、再生してみたのですが
オンマウス状態にしないと画像認識が働かず
困っています。

【現在の状況やその具体例】
・単純なクリック操作は裏マクロとして正常に動作する
・エミュレータの外側にマウスカーソルがあると画像認識がまったく働かない
・エミュレータの内側にマウスカーソルをもっていくと即座に画像認識が行われる
・エミュレータがアクティブ状態か非アクティブ状態かは関係なく
 オンマウスかどうかで画像認識の「働く/働かない」が決まる状況
 (PC画面の最前面はメモ帳やブラウザ。裏で開いているエミュレータの先っぽだけを
 ブラウザの上にハミ出させて、そのハミ部分にマウスカーソルを移動させると画像認識動く)

この「オンマウスでないと画像認識が動かない」状況を解消する方法を知りたいです
よろしくお願いします。

807 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 14:06:50.35 ID:CE/PVw/N.net]
>>757
すみません。質問者です
>単純なクリック操作は裏マクロとして正常に動作する
↑これもオンマウス状態でないと動作していませんでした。勘違いしていたようです
根本的に裏マクロの作成に失敗してる気がします
もうちょっと自分で試行錯誤してから質問しなおします。

808 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 14:38:29.04 ID:8IWMGH1a.net]
数回滞納したら信用機関のブラックリストに載るんだろ
これ最悪じゃん

809 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 14:39:01.10 ID:8IWMGH1a.net]
誤爆でした



810 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 14:57:30.51 ID:yiuLSrin.net]
((((;゚Д゚))))

811 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 15:26:56.29 ID:3x1rEHtV.net]
滞納ってのは金払いますって約束を破ってるんだから信用に傷付くのは当然だと思うんだが
遅れても払えば問題ないって意識が根本的におかしい
uwscで自動化しろ

812 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 14:27:30.37 ID:NphD2JzZ.net]
IEでサイトをよんだら、Edgeが起動した。
もうだめだ。オレの人生はおわった。

変わりの自動化ツールを教えて下さい

813 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 14:37:42.46 ID:e0Fl/dIF.net]
edgeで動作するように作り直した方が早

814 名前: []
[ここ壊れてます]

815 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 15:00:10.50 ID:NphD2JzZ.net]
>>764
そんなことできるんですか 朗報!

816 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 15:30:39.13 ID:xKFqhvrl.net]
ieでそのまま開くみたいな設定がedge側にあったと思うけど

817 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 20:25:34.70 ID:+9Nz3gBm.net]
>>766
ありがとうございます。
設定を変更してできました。

前日にはIEで表示できたのに、今朝になって突然代替表示されるようになって動転してしまいました。

818 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 18:06:22.89 ID:sakamvjP.net]
adbを利用したマクロのタップ位置をちょっとだけランダム化したいです

表マクロで座標(20,50)の周辺をランダムタップする場合は
20+RANDOM(1),50+RANDOM(1)
↑みたいにすれば出来ていたのですが、
adb版の裏マクロだとどういう記述にすればいいのでしょうか

819 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 19:54:11.87 ID:rDadBMP6.net]
>>675-676辺りを見て



820 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 21:20:12.83 ID:sakamvjP.net]
返答ありがとうございます
括弧でくくるとはどこをどのようにくくればいいのでしょうか…
具体例を書いていただけるとありがたいです。 頭が弱くて申し訳ない泣
下記を試してみたのですが一番上のやつだけが正常に動きます

成功(ランダム化無し)
DOSCMD("cd C:\LDPlayer\LDPlayer4.0 & adb shell input tap 20 50")

失敗(ランダム化有り)
DOSCMD("cd C:\LDPlayer\LDPlayer4.0 & adb shell input tap 20+RANDOM(1) 50+RANDOM(1)")

失敗(ランダム化有り_座標を括弧で括る)
DOSCMD("cd C:\LDPlayer\LDPlayer4.0 & adb shell input tap (31+ RANDOM(1)) (50+ RANDOM(1))")

失敗(ランダム化有り_座標を括弧で括る2)
DOSCMD("cd C:\LDPlayer\LDPlayer4.0 & adb shell input tap 31(+ RANDOM(1)) 50(+ RANDOM(1))")

また>>675の書き方は
doscmd(" ")の「")」の箇所が「)」になっていて「" "」で最後のY座標を覆えていないのですが
これは書き込みミスですか?それとも何か意図があるでしょうか

821 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 02:13:50.42 ID:HgHOGPAh.net]
DOSCMDで送信するのは文字列
下3つはRANDOM関数がダブルクォーテーションで囲われてるから関数ではなく文字列として認識されてる
文字列は結合が出来る

str = "aaa" + "bbb"
print str
> aaabbb

822 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 02:58:31.43 ID:Yx4rnzv/.net]
>>770
文法適当だけどこう
doscmd("adb shell input tap" + " " + (10 + rnd(10)) + " " + (20 + rnd(20)))
数値の加算としてて扱いたいところを括りなさいということ

doscmdで失敗したらdoscmdの返り値を吹き出しとかログに出して確認するとコマンドプロンプト上のメッセージ見れるよ
まあ、あとdoscmdで構文組み立てると使い回し的に微妙だし外で組み立ててデバッグ表示とか確認してから文字列の変数で渡す方がいいかな

823 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 10:28:45.04 ID:w8MMFkxC.net]
>>771
>>772
返答ありがとうございます。
教えていただいたルールと実例を見て少しずつわかってきた気がします
「+ " " +」の箇所が不思議な並びに見えていたのですが、「" +」で一塊の記号
と捉える(?)ということが何となくわかってきました。
「" +」と「関数」の組み合わせで、関数部分は括弧で両脇ガードするイメージかな、て。
理解が追いつきそうな気がします。ありがとうございます

824 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 12:59:51.00 ID:Yx4rnzv/.net]
いや変な理解してるよw
プログラム知識どのくらいあるか知らんけど、要はdoscmdは最少だと文字列1つが引数なのが大前提
次にuwscは文字列に対して+すると左辺右辺を文字列とし結合する
この時、数値も文字列になるし、関数は返り値が文字列になる
なのでdoscmdの1番外の括弧の中の+は基本的に文字列の結合をしている
括弧の中にある括弧内は先に数値の計算がされる

doscmd(10 + 10)
だと1010になって
doscmd((10 + 10))
だと20になる
doscmd(a + " " + b)
これはなんのことはなく単にaとbの間にスペースいれてるだけだ

825 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 08:32:17.00 ID:JYL+31L1.net]
ありがとうございます。今度こそわかりました
つまり、doscmd(a + " " + b)のaとbとにランダム数値を代入する、みたいな式を
これの前に書けば晴れてランダム座標の完成となるわけですね
ちなみにお察しの通りプログラムの知識はなく
録画した表マクロが読める程度です… 回答ありがとうございます

826 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 16:14:00.55 ID:mYgax70j.net]
>>765
IE専用ツールじゃないから、EdgeでもChromeでも動くよ

827 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 20:13:05.76 ID:74skEOdG.net]
>>776
それがですね問題なのは、IEの場合、ページが読み込み完了になるまで待っててくれる関数があるじゃなんですか。
ああいうことができないと、例えばボタンを押すタイミングが早すぎたとかいうことになって先へ進めなくなるんです。

他のRPAでしたっけか、そういったもので、ブラウザの読み込み完了になるまで待機するようなものが見つけられなくて
UWSCでIEをそのまま使いたいと思ってしまっているわけなんです。

828 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 11:45:04.70 ID:ZGnem3aY.net]
Seleniumは?

829 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 12:07:26.24 ID:dZ6ue5BC.net]
Seleniumでもpuppeteerでも好きなもの使え



830 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 20:45:26.14 ID:fa+YzTlt.net]
webdriver使えば?

831 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 15:50:22.10 ID:+7e6mc9m.net]
UWSCのスクリプト集が死んでるサイトしかないけど、見る方法は・・・
canal22.org/qanda/uwsc_script/

832 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 23:02:31.35 ID:N5xcmHzO.net]
archiveでどーぞー

833 名前:デフォルトの名無しさん mailto:sage [2021/02/28(日) 12:00:54.27 ID:zlvqXFLj.net]
Aという動作をループさせながら、Bという画像が現れたら数分後にBをクリックするとかできますか?スリープだとAの動作が止まってしまうので…

834 名前:デフォルトの名無しさん mailto:sage [2021/02/28(日) 12:04:06.87 ID:Gf8vzNDu.net]
gettimeを使うかthreadで別処理にする

835 名前:デフォルトの名無しさん mailto:sage [2021/02/28(日) 13:15:04.71 ID:rSDXD4Hw.net]
Aを内包する大ループ作るだけでよくね
正攻法はthreadでいいと思うが

836 名前:デフォルトの名無しさん mailto:sage [2021/02/28(日) 17:45:14.82 ID:zlvqXFLj.net]
ありがとうございます。早速試してみます。

837 名前:デフォルトの名無しさん mailto:sage [2021/03/02(火) 13:39:10.84 ID:JZpUb5F1.net]
難しく考えすぎなのでは?

DIM Flag = False //B画像検出フラグ

//Aという動作をループ
While True
//B画像が現れたらxに現在時刻を記録しFlagをTrueにする
IFB CHKIMG("B.bmp") and (Flag = False);x = GETTIME();Flag = True;ENDIF
//B画像検出して60秒経過したら、B画像をクリックしてループを抜ける
IFB ((GETTIME() - x) > 60) and (Flag = True);BTN(LEFT,CLICK,(G_IMG_X+5),(G_IMG_Y+5));BREAK;ENDIF
//B画像が現れず、120秒経過したらループを抜ける
IFB ((GETTIME() - x) > 120) and (Flag = False);BREAK;ENDIF
Wend

IFB Flag = True;msgbox("B画像検出");ENDIF
IFB Flag = False;msgbox("B画像未検出");ENDIF

838 名前:デフォルトの名無しさん mailto:sage [2021/03/02(火) 14:30:33.02 ID:mCqWIBDx.net]
782:gettimeかthread
785:考えすぎでは?gettime使え

839 名前:デフォルトの名無しさん mailto:sage [2021/03/02(火) 18:36:17.07 ID:JZpUb5F1.net]
xの初期値を入れてなかったから修正

DIM Flag = False,x = GETTIME() //B画像検出フラグ,xに現在時刻を入れる

//Aという動作をループ
While True
//B画像が現れたら、現れた時刻をxに入れてFlagをTrueにする
IFB CHKIMG("B.bmp") and (Flag = False);x = GETTIME();Flag = True;ELSE;ENDIF
//B画像検出して 60秒経過したら、B画像をクリックしてループを抜ける
IFB ((GETTIME() - x) > 60) and (Flag = True);BTN(LEFT,CLICK,(G_IMG_X+5),(G_IMG_Y+5));BREAK;ENDIF
//B画像が現れずに120秒経過したらループを抜ける
IFB ((GETTIME() - x) > 120) and (Flag = False);BREAK;ENDIF
Wend

IFB Flag = True;msgbox("B画像検出");ENDIF
IFB Flag = False;msgbox("B画像未検出");ENDIF



840 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 00:31:34.71 ID:UoOyY0IM.net]
>>789
素人考えですが
画像検出のIFブロックで発見したらBTNの第五引数で実行待ち時間を指定すればフラグ要らないような

841 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 00:39:48.25 ID:eEFRPXrG.net]
>>790
BTNって非同期なの?

842 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 20:36:38.79 ID:yubedTmO.net]
BTN(LEFT,CLICK,(G_IMG_X+5),(G_IMG_Y+5),600000) とすると、クリックするまでループ処理が止まる
止まるとA動作のループが動かない

843 名前:デフォルトの名無しさん [2021/03/03(水) 20:58:42.86 ID:gkb1jlIk.net]
MSがなにやら簡単ツールを提供するようだ
自動化が簡単になる

844 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 22:02:40.43 ID:g0RIT2ce.net]
ソースは?
UWSCみたいには使えないと思うが・・・

845 名前:デフォルトの名無しさん [2021/03/03(水) 22:08:57.07 ID:gkb1jlIk.net]
https://www.itmedia.co.jp/news/articles/2103/03/news096.html

846 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 22:20:08.14 ID:g0RIT2ce.net]
コードを書かずに〜と書いてあることから凝った設定はできないとも読めるよ?
まあ仮に自動化できたとしてもUWSCと同等のことが出来なければ用が無い

847 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 22:25:44.81 ID:V8Bi7ith.net]
これとUWSCを組み合わせて使えば自動化が簡単にできるようになるんじゃないかと期待してみる

848 名前:デフォルトの名無しさん mailto:sage [2021/03/03(水) 22:41:06.95 ID:W0isZ3pe.net]
ブラウザの読み込み完了になるまで待つ機能があるかどうかですお。

849 名前:デフォルトの名無しさん [2021/03/04(木) 08:23:11.29 ID:RtzC2UYg.net]
そりゃ自動化ツールなんだから
クリックした結果を見る前に次の動作するわけなかろうw
艦これの自動化くらいすぐ出来そう



850 名前:デフォルトの名無しさん mailto:sage [2021/03/04(木) 14:16:32.07 ID:U4nDCxwI.net]
//IE以外で読み込み完了まで待機が出来ないとか何とか・・・?

DOSCMD("start microsoft-edge:www.google.co.jp/") //Edgeを起動してGoogleを表示
ID = GETID("Edge", "", -1)
Stand-by(ID,ITM_BTN,"Google 検索")

SENDSTR(id,"屋久島", 1, True) // 屋久島と入力してEnter
SCKEY(ID, VK_RETURN)
Stand-by(ID, ITM_LINK, "地図")
CLKITEM(ID, "地図", CLK_LINK) // 地図をクリック

//指定アイテムの文字が確認できるまで待機
Procedure Stand-by(ID, kind, ITM)
While True
Sleep(0.4)
for n in GETITEM(ID, kind)
if n = ITM then Exit
next
wend
Fend

851 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 11:11:54.09 ID:r1yNd/Vf.net]
>>795の続きが紹介されていた
windows10homeの場合は使えない機能があるとのことProを使うのは当たり前なんで気にしたことなかったが。
homeの人はproへグレードアップしてほしい。約1万5000円支払えば可能だから当たり前にやっておこう。
また、ブラウザの自動操作は拡張機能が必要とのことだ。

852 名前:デフォルトの名無しさん [2021/03/08(月) 13:19:35.29 ID:p+9eWZvC.net]
やるかボケ

853 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 13:36:33.15 ID:r1yNd/Vf.net]
あっそうですか
でしたら使えない機能は諦めていただく他はないですね

854 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 13:54:11.38 ID:1eIB7vrT.net]
マイクソからも提供されてるのか
試してみるかな

855 名前:デフォルトの名無しさん mailto:sage [2021/03/12(金) 15:13:37.21 ID:ZRLAvOku.net]
printで表示させる文字の位置を設定する方法はありますか?
サイズも設定できるとなお良いです

856 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 13:10:54.59 ID:cA/ebhRB.net]
//面倒くさいやり方もあるが、無駄な労力なのでLOGPRINTを使うと良い
//なぜかx座標が7ピクセルずれるから指定座標から引く事

x = 500;y= 500

FUKIDASI("表示位置テスト1",x,y) 

LOGPRINT(TRUE,x-7,y,250,100)
PRINT "表示位置サイズ変更テスト2"

sleep(10)

857 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 19:17:10.26 ID:MdoUOPO+.net]
凄い初心な質問ですんません。

ID = EXEC("C:\Program Files (x86)\cameeze\cameeze.exe")
SLEEP(1.5)
ACW(

858 名前:GETID("cameeze","TfrmMain.UnicodeClass"),1583,450,460,300,0)

5回繰り返し(座標だけ違う)

こんな感じで作ったのですが、UWSCから設定ファイルを実行すると動くのですが、
設定ファイルから実行すると失敗してしまいます。(アクティブなウィンドウが切り替わらずにパッパッと動いてる)
重複起動していて同名なので、名前の後に(1)みたいな風に付ける方法はありませんでしょうか…
[]
[ここ壊れてます]

859 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 19:20:27.96 ID:MdoUOPO+.net]
あれ、なんでだろ書き込めない・・・



860 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 19:25:57.43 ID:MdoUOPO+.net]
くっそ初心者ですんません。

ID = EXEC("あああ")
SLEEP(1.5)
ACW(GETID("あああ","TfrmMain.UnicodeClass"),1583,450,330,460,0)

座標変えて5回繰り返し

こんな感じで同じソフトを多重起動させて並べようとしたのですが、失敗してしまいます。
ウィンドウタイトルが同じで同じウィンドウを色々な座標に持っていこうとしてるだけみたいな感じなのですが
ソフト名の後ろに(1)みたいなのを付けたりする方法はありませんでしょうか…
(なぜか書けなかったのであああにしてます)

861 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 20:13:27.68 ID:E6ui2GaX.net]
例えばこれで多重起動できる

ID = EXEC("notepad.exe")
ACW(ID,1583,450,330,460,0)

ID2 = EXEC("notepad.exe")
ACW(ID2,1583,450,330,460,0)

862 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 22:20:18.27 ID:BQ6dfRIE.net]
>>809
ID = EXEC("あああ")
とやってるのに、その後のACWでIDを使わない謎

863 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 22:32:16.30 ID:MdoUOPO+.net]
>>811
ありがとう!「SLEEPを挟んじゃうからIDが受け渡せてねぇんだよ」みたいな感じですか?
でもそのソフト起動遅いんです・・・。
続けて書いたら最初に立ち上がる時に表示されるロゴみたいなのが指定の位置に移動するだけで
肝心のウィンドウは前回の終了位置にいってしまうんです…

864 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 00:00:30.92 ID:+CyRHPpu.net]
//>「SLEEPを挟んじゃうからIDが受け渡せてねぇんだよ」
//変数のIDを使ってないから、渡す以前に渡してねぇだろという・・・
//SLEEPは待ち時間指定だから、好きなだけ挟んで良い

//電卓を多重起動して横に並べる
EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID1 = GETID("電卓")
ACW(ID1,100,100,500,500,0)

EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID2 = GETID("電卓")
ACW(ID2,600,100,500,500,0)

EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID3 = GETID("電卓")
ACW(ID3,1100,100,500,500,0)

865 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 00:36:16.10 ID:/ZCKQNsi.net]
複数個起動できないソフトなのでは?

866 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 01:08:44.19 ID:v5Yi3qmH.net]
ああ!そういうことか!(´・ω・`)意味が分かったかもしれない!!

ID = EXEC("あああ") ←この『ID』=という部分が自分で決めれるんすね!?
例えばaaa = EXEC("あああ")と書いて次の行に
ACW(aaa,1583,450,330,460,0)とすると
録画機能みたいなのを利用してたのでIDと書くルールなのかと思ってました…

>>814
いえ、複数個起動はできるソフトで、一応動くには動くのですが
設定ファイルから実行するとアクティブなウインドウが切り替わらず一つのウィンドウだけが座標を行ったり来たりする感じでした

867 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 01:09:40.14 ID:v5Yi3qmH.net]


868 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 09:32:47.13 ID:+CyRHPpu.net]
なるほどなぁ
そのレベルからの解説でも需要があるのか
UWSCの需要はまだ枯れてないか

869 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 06:59:58.16 ID:TjD9TcDJ.net]
>>810
せっかく教えてくれていたのに、専ブラの設定かで見えてませんでした
ありがとうございます



870 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 07:01:40.55 ID:TjD9TcDJ.net]
>>813
も見えてなかった…
ありがとうございます!

871 名前:807 mailto:sage [2021/03/17(水) 16:54:27.51 ID:dsWxXXVG.net]
皆のお陰様でちょとだけ理解ができてきました
あわよくばもう一点だけ教えて欲しいのです

>>810さんが教えてくれた方法は何故か上手く動いてくれませんでした
起動の遅れ?とかが関係あるのかとSLEEPを挟んでみたりしたのですがうまくいかず
でもそのまんまコピペするとメモ帳はその様に動きました。



872 名前:そこで>>813さんの教えて貰った様に起動させた後にGETIDってので戻り値?というのをID1〜6に指定
これで思惑通り動きました!でも解せないというか理解できてないんです。

ID1 = GETID("電卓") ってのは「電卓っていうウィンドウIDを返せ」「それをID1と仮名する!」という意味であってますか?
だとすると電卓が複数個起動してたらどれのウィンドウIDを戻すのか分からなくなる気がするのは気の所為でしょうか
それとも順番に書いてるからアクティブなウィンドウから値を引っ張ってきてるのでしょうか?

1・自動で起動させてアプリを並べる。
2・別の設定ファイルでウィンドウにあるプルダウンメニューから自動で選ぶ
をやりたくて、1はできたのですが2を行う場合、GETIDではできませんでした。

初心者のクセに基礎も分からず意味不明なこと言ってるかもしれませんが、最後にしますのでお願いします…
[]
[ここ壊れてます]

873 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 19:42:27.72 ID:0BuFiOnf.net]
最初から言ってる設定ファイルがなんなのか分からん
どっかて買ったマクロ集かなんか?

まあ他の部分は推測と合っている

874 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 19:56:01.39 ID:+PPxZeIs.net]
省略しないで書くなら、
ID = GETID("電卓", "ApplicationFrameWindow", -1)
となるが、めんどいから省略してる
//IDはIDの数値を入れる変数なので、変数名は何でも良い
//変数は数値や文字を入れておく箱のようなイメージ
//UWSCには変数の型は無いので、数字でも文字でも区別なく入れられる

//変数の宣言 使いたい所で変数を作れるの必須ではないが、使う変数を決めておく意味で宣言しておいた方が良いとは思う
DIM ID1,ID2,ID3

EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID1 = GETID("電卓")
ACW(ID1,100,100,500,500,0)
msgbox(ID1)

EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID2 = GETID("電卓")
ACW(ID2,600,100,500,500,0)
msgbox(ID2)

EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID3 = GETID("電卓")
ACW(ID3,1100,100,500,500,0)
msgbox(ID3)

//こうすると、起動した順にIDが1,2,3と割り振られてる事が分かる
//プルダウンメニューから選ぶのはUWSCでも出来るけどめんどい

875 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 20:02:51.61 ID:dsWxXXVG.net]
>>821
すんません、設定ファイルじゃなくてuwsファイルでした。

ということは、同名アプリ起動後に別のuwsファイルでIDを取得するには
マウスで座標指定してクリック→ウィンドウをアクティブに→ * = GETIDみたいなのを書いてやると良いわけですね
ありがとうございます挑戦してみます

876 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 20:12:09.19 ID:dsWxXXVG.net]
>>822
勉強なります。そうですかプルダウンはめんどうなんですね
プルダウンは諦めて手動にしようかと思います。

877 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 21:35:38.19 ID:oFq5eIyC.net]
プルダウンメニューから選ぶというのがよくわからない

878 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 07:40:23.96 ID:8urs7GkO.net]
>>825
防犯カメラ複数台登録して視聴ソフトを起動させると
すべて1台目のIPが指定されてしまうのです。
なのでプルダウン(ドロップダウン)から機器登録されている
IPアドレスを選択してあげないといけないんです

879 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 08:15:40.32 ID:YmFQF9g2.net]
全部を一つでは出来ないよ
所詮はアプリじゃなくてスクリプトだからさ
やろうと思えば出来るけど、状態を保持してる何かするのは難しい
今上がってるもので言うと
複数の監視カメラの視聴アプリとやらを一括で起動するのは特に問題ないよね
同時に整列させるのはちょっとハードル高いから考え方変えて、同じアプリを後から整列させるなら多少は簡単にできる
(ただ、uwscでやる必要性はあまり感じない)
プルダウンから自動で選ぶはまだちょっと意味が分からない
リストからカメラ指定して起動したいってこと?
それとも起動済みの視聴アプリをリストにして、それを選んで何か操作したいということ?
後者はアプリがタイトルバーに何か色つけてくれてればやりようあるけど、そうじゃないなら難しいよ



880 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 09:52:39.16 ID:JPJY5VhO.net]
たとえば一つの例として「Fit Win」というアプリがあって
指定したアプリを整列させるだけならこういうアプリもある

プルダウンから選ぶは座標クリックしていく原始的なやり方しかないだろうね
整列して同じ座標へウィンドウを固定させたら比較的簡単にできるし

視聴ソフトはあまり詳しくないので調べてみたら「smart viewer」というフリーのソフトが複数カメラ、複数画面に対応してるようだけど
こういうソフトじゃないと駄目なの?機器が対応してないと駄目だろうけどLAN接続するタイプなら割と対応してるっぽいが?
このソフトを採用している警備会社があるようだから悪くないと思うけどな

881 名前:デフォルトの名無しさん [2021/03/18(木) 10:40:06.48 ID:Y5jTQtWf.net]
ネットワークドライブのuwsファイルを認識しないのですが、みなさんの環境でもそうですか?
\\ORE-PC\UWS\hoge.uws をダブルクリックすると問題なく起動しますが、
\\ORE-PCをZドライブに割り当てて、
Z:\UWS\hoge.uwsをダブルクリックするとFILE NOT FOUNDってでる。
右クリ→メモ帳だと問題なく開けるので、UWSCの仕様なんでしょうかね・・

882 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 11:08:31.02 ID:JPJY5VhO.net]
ダブルクリックして起動?
ランチャーとかUWSCから起動させるのは駄目?
ネットワークドライブを割り当てるとかはやってないのでわかりませんね

883 名前:827 mailto:sage [2021/03/18(木) 12:13:19.45 ID:Y5jTQtWf.net]
windowsのショートカットでも、ランチャーに登録してもダメですね。
だけど、UWSC本体からファイル開く→再生だといけますね・・・なんだこりゃ

884 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 12:38:28.87 ID:Sp8r4MHz.net]
コマンドプロンプトで実行できるなら、hoge.uwsがあるフォルダにUWSC.exeを入れて
BATファイルに
UWSC.exe hoge.uws
と書いてBATファイルで実行する手もある

885 名前:827 mailto:sage [2021/03/18(木) 13:45:17.72 ID:Y5jTQtWf.net]
>>832
やってみたら見事に
FILE not found :hoge.uws
が返ってきました。目の前にあるんですけどね・・

886 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 14:05:23.77 ID:Y5jTQtWf.net]
>だけど、UWSC本体からファイル開く→再生だといけますね・・・なんだこりゃ

改めてやったら、そもそもUWSC本体→開くでZドライブが見えない。
なんで開けたつもりになったんだろう・・謎
ショートカットは見えるので叩くとやっぱFILE not found

887 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 14:25:56.67 ID:Sp8r4MHz.net]
EXEファイルにするか、iexpress.exeでパッケージ化するか
https://wikiwiki.jp/gutchie/%E8%87%AA%E5%8B%95%E5%8C%96%E3%83%84%E3%83%BC%E3%83%AB/UWSC#y1bf8470

888 名前:デフォルトの名無しさん mailto:sage [2021/03/24(水) 22:16:20.39 ID:SjAM6MJ0.net]
子ウィンドウを取得して操作したいのですがなかなか上手くいきません

ID=GETID("親ウインドウのタイトル")
idLength=GETALLWIN(ID)
FOR i = 0 TO idLength-1
PRINT STATUS(ALL_WIN_ID[i],ST_TITLE) 
NEXT

↑を実行したところ、返ってきたのは子ウィンドウではなく
子ウィンドウ内の要素でした。(ボタン、チェックボックス、ラジオボタン)

ID=GETID("親タイトル",,,"子タイトル")
PRINT

↑は-1になります
やり方間違ってますか

889 名前:デフォルトの名無しさん mailto:sage [2021/03/24(水) 23:30:49.98 ID:ffF9L6R4.net]
//ウィンドウIDを全て取得してみてIDとタイトルを調べる方法もある

n = GETALLWIN()

FOR i = 0 TO n-1
PRINT ALL_WIN_ID[i] + " " +STATUS(ALL_WIN_ID[i],ST_TITLE) 
LOGPRINT(TRUE,100,50,800,1100)
NEXT

msgbox("stop")



890 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 00:14:40.63 ID:dnI+vm3S.net]
>>837
実行してみると
親ウィンドウのタイトルが、ウインドウの数+1表示されました
という事は自分が子ウインドウだと思っていたものは全て親ウインドウという事かな?
今日は遅いのでまた明日やってみます
ありがとうございました

891 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 09:20:46.01 ID:vJdMFfhi.net]
Windowsのユーザーを切り替えて、各ユーザーごとにマクロを実施していきたいの

892 名前:セけど、ユーザー切り替えはUWSCでは難しいですか? []
[ここ壊れてます]

893 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 09:27:52.43 ID:Aph6z+sk.net]
何したいか分かんないけどユーザー指定して操作対象のアプリ起動するんじゃダメなん?

894 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 11:17:30.70 ID:RfO7RRDz.net]
UWSCの範囲を超えるこえど
動かしたいユーザー列挙しといて
レジストリに自動ログオンと自動実行の仕掛け作っとけばいけそう
再起動→次のユーザーで自動ログオンして自動実行という流れで

895 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 11:58:31.99 ID:AGu16ZxP.net]
ユーザー分の台数を用意すればいい
10ユーザーいるなら10台用意するとかね

896 名前:デフォルトの名無しさん [2021/04/13(火) 14:47:03.51 ID:IqZsL8m5.net]
神様ちょっと助けておくれ・・・

ブラウザのスクロールバーのボタン3回クリックの1セットを、
1セット×回数で10回行いたい(=最後は30回クリック)
forでかけ算すればいいんじゃね?とひらめいたが動くわけがなかった。

897 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 15:08:40.06 ID:IqZsL8m5.net]
for t=1 to 10
CHKIMG("scroll-down.bmp")
c=t*3
repeat
BTN(LEFT,CLICK, G_IMG_X,G_IMG_Y ,30)
sleep(1)
until c >c
next

untilの書き方にモヤモヤしているが・・・とりあえずエラーは出ない
永久にクリックし続けるだけで。

898 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 15:14:05.98 ID:C7npRUyM.net]
ブラウザの右下隅に下向きのボタンがあるが、それをクリックするという事かな?

899 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 15:16:34.28 ID:IqZsL8m5.net]
そうです。
ブラウザ上での作業を自動化したくて。
ボタンにかんしてはscroll-down.bmpで判定してます。
forのt使って
repeat
BTN(LEFT,CLICK, G_IMG_X,G_IMG_Y ,30)
sleep(1)
until t >t*3

にしてみましたがこれも永遠にクリック(tが1なんだから4で止まって欲しいのに・・・)



900 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 16:03:51.33 ID:M7vT5OZZ.net]
c > c
ワロタ
この不等式がおかしいと思わないってヤバない?
プログラムじゃなくて数学、いや算数レベルやん

901 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 16:11:32.97 ID:C7npRUyM.net]
//FORの入れ子でOK
//1回目 1*3、2回目 2*3・・・10回目 10*3

CHKIMG("scroll-down.bmp")

FOR i = 1 TO 10
FOR x = 1 TO i*3
SLEEP(1)
BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5)
NEXT
NEXT

msgbox("クリック完了")

902 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 16:36:03.26 ID:IqZsL8m5.net]
いろいろ試してる間にごちゃごちゃしてきたのですみませんね;
UWSCではforしか使ったことがないもので

>>848
入れ子でいいはずですよね・・・(同じコードだ・・・)
もう一回ためしてみます。
ありがとう。

903 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 14:51:43.21 ID:uD9tfUyH.net]
プログラムファイルから消した文言が表示されエラーになってしまいます
IFB CHKIMG ("C〜.BMP")を("C〜.PNG")に書き換えしたのですが、NOT FOUND 〜BMP となります

(appdataなど削除し)ソフトの入れ直しや、違う名前のプログラムファイルを作成などしましたが改善せず。terapadを使用して書いてます
ご教示お願いします

904 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 14:53:20.85 ID:hdR99Jx3.net]
違うファイルを読み込んでいる

905 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 15:17:51.55 ID:jul+q2bh.net]
実行してるファイルと編集してるファイルが違ってたとかよくある
何でこのバグ消えねぇんだ?と思ってよく見たら違ってたと

906 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 21:43:26.23 ID:Qutb4gNt.net]
CHKIMGはBMPしか使えないからそのエラーになるだけで消した文が影響している訳ではない
BMPに戻せ

907 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 21:59:57.64 ID:9Ra8nUSr.net]
ちゃんとエラーメッセージ読むタイプと読まないタイプの違いが出たな

908 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 23:08:42.23 ID:mtyX36ii.net]
おお!出来ました!
皆様ありがとうございます

909 名前:デフォルトの名無しさん [2021/04/23(金) 04:45:57.46 ID:GWiJhS53.net]
for文について困っていることがあります。
下記の処理Aのみ 繰り返す際に処理回数を1増やしたいです。

BTN(LEFT,CLICK,13,167,10)
 For i = 1 to 100  
 KBD(VK_RALT,DOWN,50)
 KBD(VK_RIGHT,CLICK,50)
 KBD(VK_UP,CLICK,50) //処理A ※ ここの処理だけ 1回目は1回実行 2回目は2回実行 3回目は3回実行… にしたい
 KBD(VK_RALT,UP,50)
 NEXT

調べましたがどうしてもわかりませんでした。
for文の中の処理回数を増やす方法をご存じでしたら、教えていただけたら幸いです。
よろしくお願いします。



910 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 05:45:45.21 ID:2JaREPAx.net]
 For i = 1 to 100  
  KBD(VK_RALT,DOWN,50)
  KBD(VK_RIGHT,CLICK,50)
  For j = 1 to i
   KBD(VK_UP,CLICK,50) //処理A ※ ここの処理だけ 1回目は1回実行 2回目は2回実行 3回目は3回実行… にしたい
  Next
  KBD(VK_RALT,UP,50)
 Next

911 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 05:56:06.69 ID:kWPc6e52.net]
やるじゃん!

912 名前:デフォルトの名無しさん [2021/04/23(金) 06:00:49.79 ID:GWiJhS53.net]
>>857
できました!
なるほどfor文の中にfor文を入れて他の変数にiを代入すればいいんですね…
お忙しいところ教えていただきありがとうございました

913 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 12:41:11.27 ID:Fs/FdOQM.net]
いや別に代入はいらんけど…

914 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 13:40:06.30 ID:gAgD293m.net]
動けばいいんだよ
猿相手に説明してもしゃーない

915 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 14:54:53.39 ID:zpT46eZ/.net]
キーキー喚いて他人に噛み付くだけの猿は本当にしょうがないよな

916 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 15:13:24.53 ID:gAgD293m.net]
>>1読んでないのかな

917 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 15:35:59.73 ID:Qd1iaOGD.net]
無能な猿はすっこんでろって

918 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 18:49:02.98 ID:k2R/iVu9.net]
サルモンキーウッキー

919 名前:デフォルトの名無しさん mailto:sage [2021/04/30(金) 21:19:57.52 ID:gWvSQQ0Q.net]
メモ帳上だと正常に機能するけど、動かしたいソフト上だと特定のキー(十字キーとかシフトキー)だけ受け付けないんだけどなにかわかるかな?
記録は出来て、中身を見るとちゃんとキーも入ってるけど再生時に特定のキーが無視されちゃう



920 名前:デフォルトの名無しさん mailto:sage [2021/05/01(土) 02:52:48.63 ID:MA8kI4AW.net]
まず「動かしたいソフト」の名前を書け

921 名前:デフォルトの名無しさん [2021/05/14(金) 14:13:35.87 ID:2RtqhEo0.net]
画像1と画像2のどちらかを認識した場合、認識した画像の座標を取得して処理Aを行いたいです

IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1)
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)//処理A
ELSEIF CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1)
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)//処理A
ENDIF

処理Aは同じですが、いまはこうして分けています
今後、画像3、画像4と増えていく可能性があるので毎回分けて記述しなくても良い方法はないでしょうか

IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1) OR CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1)
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)//処理A

このようにORを使って画像1が表示されてる最中に実行してみたところ、画像座標の取得に失敗してしまい処理Aが動作しませんでした
(PRINTで座標を確認してみたら-99999とかになってました)

922 名前:デフォルトの名無しさん mailto:sage [2021/05/14(金) 15:09:08.52 ID:K8K4yQFj.net]
getdirでファイル一覧取ってきてfor-in-nextで画像ファイルの分だけループ回せばいいと思う

923 名前:デフォルトの名無しさん mailto:sage [2021/05/14(金) 16:43:30.17 ID:iQwZsiAA.net]
chkimgxを使えばもっと簡単に書けるが、使わないなら

//画像1.bmp〜画像2.bmpを検索してどれかを認識したら処理Aを実行しループを抜ける
FOR x = 1 TO 2
IFB CHKIMG("画像" + x + ".bmp", , , , , , -1, IMG_MSK_BGR1)
//処理A
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
BREAK
ENDIF
NEXT

924 名前:デフォルトの名無しさん [2021/05/14(金) 17:02:47.72 ID:2RtqhEo0.net]
>>869-870
ありがとうございます、ですがすいません
文にしたときにわかりづらかったので変えていたのですが、
実際の画像ファイルはファイル毎に名前を変えていて連番ではなく、画像を認識する場所もそれぞれ異なります

925 名前:デフォルトの名無しさん mailto:sage [2021/05/14(金) 17:37:15.98 ID:iQwZsiAA.net]
//BMPファイルの数を取得する
//BMPファイルは同じフォルダに入れておくこと
N = GETDIR(GET_CUR_DIR,"*.BMP",TRUE,0)

//GETDIR_FILES配列にはGETDIRで取得したBMPファイルのファイル名が全て入る

//BMPファイルを検索してどれかを認識したら処理Aを実行しループを抜ける
//CHKIMGで座標指定しないなら、パラメータ無指定でもOK
FOR x = 0 TO N-1
IFB CHKIMG(GETDIR_FILES[x])
//処理A
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
BREAK
ENDIF
NEXT

926 名前:デフォルトの名無しさん mailto:sage [2021/05/14(金) 22:43:48.66 ID:6hlMfvtI.net]
>>871
>画像を認識する場所もそれぞれ異なります
ってこういうことかな

CONST e_bmp=0
CONST e_xOffset=1
CONST e_yOffset=2

// 画像と認識位置のセット
DIM aMultidim[][2] = "a.bmp",2,3 _
          ,"b.bmp",-1,-1 _
          ,"c.bmp",0,1
DIM i
DIM iLastSet = length(aMultidim) - 1
FOR i = 0 TO iLastSet
 IFB TRUE = CHKIMG(aMultidim[i][e_bmp]) THEN
  // 発見位置にオフセットを加味してクリック
  BTN(LEFT, CLICK , G_IMG_X,+aMultidim[i][e_xOffset] _
          , G_IMG_Y+aMultidim[i][e_yOffsetOffset])
 ENDIF
NEXT

927 名前:デフォルトの名無しさん mailto:sage [2021/05/15(土) 02:20:59.88 ID:d0kD+s8i.net]
やっぱchkimgxで組んだら?
わざわざ配列でチェック座標管理しなくて済むし

928 名前:デフォルトの名無しさん mailto:sage [2021/05/15(土) 15:01:39.06 ID:M0a+Mlf6.net]
明確に座標が違うなら配列作ってforで回す方がいいと思うがね

929 名前:デフォルトの名無しさん [2021/05/18(火) 01:52:43.80 ID:IPcsF0ko.net]
すいません、返事が遅れました
>>872-873の方法でいじりながら様子を見てみます、ありがとうございます
しかし元々の記述よりだいぶ複雑になるんですね…
CHKIMGXはなぜかウインドウがピカピカ光って煩わしいのでなるべく使わないようにしてます

別件ですがもうひとつ質問です
ランダムに表示される画像xを参照して処理を行う001.uwsというもののほかに、同じ画像xを参照するものの001.uwsとは異なる処理を行う002.uwsや003.uwsを作る予定です

・A.uwsの中身
WHILE TRUE
CALL B.uws
CALL C.uws
CALL 001.uws//処理が終わったらA.uwsに戻ってこさせたいので、ループ処理にはしていない
WEND

いまUWSCにはこのように記述したA.uwsを読み込ませています
説明が難しいのですが001.uwsと002.uwsを使う場面が明確に異なるので、
CHKIMGで画像1を認識したら、画像2や画像3を認識するまで以降002.uwsや003.uwsなど特定のuwsだけを読み込まなくなり、
逆に画像2を認識したら、画像1や画像3を認識するまで以降001.uwsや003.uwsだけを読み込まないようにしたいです

IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1)
CALL 001.uws
ELSEIF CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1)
CALL 002.uws
ELSEIF CHKIMG( "画像3.bmp", , , , , , -1, IMG_MSK_BGR1)
CALL 003.uws
ENDIF

このように記述すれば良いのでしょうが、001.uws〜003.uwsはループ処理させたくないのと、画像1〜3は常に表示されているわけではないので困ってます
なにか良い解決策はないでしょうか



930 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 06:01:50.96 ID:UDGz656x.net]
ちょっと話しは逸れるけど
そもそもいちいちcallする必要あるのかな
関数化しちゃいかんの?

931 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:17:39.32 ID:wQ5og2t5.net]
定期的に出てくるけどCALLを関数代わりにしてる奴は頭おかしいからスルーして大丈夫

932 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:19:50.75 ID:qh33yYe/.net]
むしろファイルをcallできる言語仕様に驚きを禁じ得ない

933 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:31:01.04 ID:4dF+L4dN.net]
そこは include とか import と同じじゃないの
単機能を関数的に呼び出すのがおかしいってだけで

934 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:37:54.61 ID:qh33yYe/.net]
まあ確かにDLLと同じようなもんだと言われたらそれまでだけど
関数ポインタをディスパッチするような手間いらずで初心者でも手軽に使える点は評価したい

935 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:42:00.07 ID:t/eWMALd.net]
callもスクリプト単体で動くようにすると結構便利だけどな
スクリプトは実行時に読み込まれてるみたいだし関数と変わらん気がするが

936 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 11:10:02.73 ID:qh33yYe/.net]
利便性を優先すると使うための手続きが複雑になる
このトレードオフは言語開発者の永遠のテーマだろうな

937 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 11:14:19.63 ID:4dF+L4dN.net]
たぶん上の人は関数自体使い慣れなくてだいぶ抵抗があるんだろうな
老婆心的にはスマートな使い方教えたいけど
自分でメリット感じられないとなかなか移行は難しそうだ

938 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 11:30:39.35 ID:qh33yYe/.net]
DLLを使った方がカッコイイからというくだらん理由で
どう見ても静的リンクでいいだろうという場面でやたらDLLを使いたがる人もいる
シンプルにEXE一本で動かせるのにランタイムライブラリという必要条件が増えるけど
素人は複雑イコール技術が高度と感じることがあるのでなんとも言えない

939 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 12:16:39.91 ID:AZFZk1uK.net]
そもそも、起動した時点でcall先のファイルは一括して読み込まれるってのを分かってないよね
だから、読み込まないようにしたいっていう一文が出てくる



940 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 12:24:17.39 ID:4dF+L4dN.net]
>>886
それはそうなんだろうけど
874の人は関数的に使ってるから読み込ませたくない=実行させたくない って意図でしょう

それはそうと874の実際の質問内容考えてる人俺含めていない件w
後ででもしっかり読んでみようと思ってるけど論理問題のようだから意図や齟齬たどるの面倒よね

941 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 13:30:39.30 ID:9AUeHlwd.net]
>>876
CALLの使い方を間違ってる

942 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 13:51:29.74 ID:qh33yYe/.net]
CALLの正しい使い方のお手本を出してくれるそうだから
よく聞くように

943 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 14:17:24.85 ID:XOsT82We.net]
874です
以前、こちらのスレで長々と書くのではなく、ひとつの処理に対してひとつのファイルにしてCALLで読み込ませろって書いてあったのを読んだ気がしてそうしてました
よろしくおねがいします

944 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 16:19:21.98 ID:KFxGhSSQ.net]
CALLは意味が沢山あって意外と日本人に馴染みのない言葉だから仕方ないね

945 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 16:53:51.17 ID:9AUeHlwd.net]
>ランダムに表示される画像xを参照して処理を行う001.uwsというもののほかに、同じ画像xを参照するものの001.uwsとは異なる処理を行う002.uwsや003.uwsを作る予定です
ファイルを分ける必要がない

動けばどう書いても良いけど、難しく考えすぎて面倒くさい書き方をしてるようにしか思えん

946 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 16:58:47.86 ID:0sQ29iV7.net]
関数の使い方を覚えるべきだよね

947 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 20:28:58.68 ID:9AUeHlwd.net]
認識した画像ごとに処理を分ける例
IFBでダラダラ書くより読みやすく書ける

WHILE TRUE

SELECT TRUE
 CASE CHKIMG("画像1.bmp")
  処理1
 CASE CHKIMG("画像2.bmp")
  処理2
 CASE CHKIMG("画像3.bmp")
  処理3
 DEFAULT
  例外処理 //例外処理
SELEND

WEND

948 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 21:40:52.44 ID:pImCnyq0.net]
>>894
これは凄い発想
caseに式や関数使えるとか知らなんだ

949 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 22:21:22.88 ID:wQ5og2t5.net]
CALLしてるファイルの中でも関数化してるわけじゃなさそうだし
ファイルが増えればそのうち変数がバグってどこが原因か分からなくなる



950 名前:デフォルトの名無しさん [2021/05/20(木) 05:48:05.89 ID:xogd6JER.net]
874です

CALLにしていた処理をまとめる方向で修正してます

>>894
自分はIFB〜ELSEIFとの違いがわからず悩んでいます
CASE CHKIMG("画像1.bmp")で画像を読み取れば、
IFB〜ELSEIFと同じひとつの処理に対してENDIFが必要ないってことでしょうか?

951 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 09:42:02.88 ID:j8DWMRqC.net]
>>897
書いてある通り>>894にとってはselectの方が読みやすいってだけだろ
IFBとELSEIFで段差ができる部分が揃う
CASEの方が文字数少ない
CHKIMGは書き方のバリエーションだからIFBと違いはないのでは

952 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 11:13:41.40 ID:1BZg1gED.net]
コードの可読性を意識し

953 名前:ト書いてるだけだがね

可読性の概念とかは プログラミング 可読性 でググれ
動けばどうでも良いという主義ならそれはそれで
[]
[ここ壊れてます]

954 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 11:22:16.62 ID:HONoZ+FD.net]
892のコンセプトしだいだけど
メンテナンス性拡張性とか加味するとifのほうがいいかもね

955 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 12:20:19.57 ID:1BZg1gED.net]
CASE CHKIMG("画像1.bmp") AND (CC = 1)
とかIFBの条件式と同じように書けるし、どうでも良い事ではあるがね

956 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 13:26:28.17 ID:dsnUQ917.net]
on N goto 1000,1100,1200,1300…でいけるよ

957 名前:デフォルトの名無しさん [2021/05/21(金) 08:55:27.51 ID:jCHc9CEs.net]
874です

メインにしてるuwsの中に複数の処理をまとめた処理群AをCALLで呼び出してましたが、処理群Aをクラス化して、処理群Aのなかの各処理をPROCEDUREなどでメインのuwsに記述する

CALL 処理群A.uws
クラス名は処理群A、関数名は処理Aと処理B

IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1)
処理群A.処理A
ELSEIF CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1)
処理群A.処理B
ENDIF

CALLの使い方はこれで大丈夫でしょうか?

958 名前:デフォルトの名無しさん mailto:sage [2021/05/21(金) 09:47:46.96 ID:hKnIbAZ8.net]
UWSCってクラス使えたんだっけ!?使ったことなかった
>>903
それはともかくそれでいいと思うよ
処理A,Bを他のスクリプトから使わず規模も大きくないなら
CALL使わず1ファイル内の関数だけで済ますんでいいと思うけど
----.uws ここから
IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1)
 処理A()
ELSEIF CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1)
 処理B()
ENDIF

procedure 処理A()
 //Aの処理
fend

procedure 処理B()
//Bの処理
fend
----.uws ここまで
あと下部のprocedureをクラス化せずそのまま別ファイルにしてCALLするんでも動くよ
知ってるかもだけど念の為

959 名前:デフォルトの名無しさん mailto:sage [2021/05/21(金) 12:44:57.04 ID:04KdsCb/.net]
話をループさせるなよw



960 名前:デフォルトの名無しさん mailto:sage [2021/05/21(金) 12:55:06.38 ID:hKnIbAZ8.net]
スクリプト直CALLしてたのをクラス関数CALLにはしたけど
それはそれでいいがもっと簡単にはできるよ
って話なのでループではないと思うが

902みたいな関数の一番簡単な使い方も把握してるのか怪しかったし

961 名前:デフォルトの名無しさん [2021/05/24(月) 09:07:34.94 ID:j7BJolv/.net]
CHKIMGの色幅がCHKIMGX1でも認識するくらいシビアな画像でも
CHKIMGXにすると判定できなくなる場合ってどうすれば良いですか?
CHKIMG使うしかないですか?

962 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 15:27:04.53 ID:j7BJolv/.net]
読み直したら間違えてた
CHKIMGX1じゃなくてIMG_MSK_BGR1で認識するくらいシビア

963 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 15:38:58.41 ID:ULoozdN2.net]
chkimgで認識できてchkimgxで認識できないってのがよくわからないんだけど
chkimgxのthresholdとかcolorの引数弄っても認識できてないの?

964 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 15:47:05.47 ID:/wIz9r2w.net]
>>909
画像によってはchkimgで認識してchkimgxだとしないのがあるね
見た目で緑系色が多いと認識しない感じ

965 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 16:22:49.00 ID:ULoozdN2.net]
>>910
chkimgxはキャプチャしたイメージをグレースケール化するので色は引数のcolorを弄らない限り関係ない

966 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 16:30:11.09 ID:jIebElNo.net]
btnでクリックできなくなったね。

967 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 17:28:10.19 ID:VAxBPl7R.net]
>>911
ソースのコメントみる限り、色指定した場合はグレースケール化と読めるが

指定した色とどれだけ近いかでグレースケール化した画像を使って マッチングの計算を行う
文字の色などを指定することで背景の変化に強いマッチング判定を行う

968 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 18:21:59.68 ID:qg+aTsN4.net]
>>913
ソースコードの関数も確認した
色指定あるときはgrayscale化

969 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 08:10:53.62 ID:K14fqcy/.net]
CHKIMGからのクリックができなくなってるなぁ。
画像認識まではするけど、クリックはしない。
管理権限で起動しても、だめだったなぁ。
WINDOWSのアップデート前後で変わってるから、そ



970 名前:アかなぁ。 []
[ここ壊れてます]

971 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 11:01:01.07 ID:XORx725k.net]
>>915
ついに使えなくなったか

972 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 13:05:07.61 ID:yYro70ts.net]
アップデートは停止してるからわからないけど
使えなくなるならアップデートはしないでおこう。人柱サンキュー!ワハハハ!

973 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 13:56:10.97 ID:9QyAf03y.net]
バージョン 2004のままにしておくか

974 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 14:14:16.02 ID:eqZO3XDC.net]
Windows はいじらないほうがいいですね。

975 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 17:01:33.65 ID:9QyAf03y.net]
WEBツールの仕様変更でCLICKが使えなくなったのをDOWN,UPで対応させてるがバージョン変わったら使えなくなるんだろうか
待ち時間をランダムにして人間がクリックしてるように偽装して何とかなってる

BTN(LEFT,DOWN,G_IMG_X,G_IMG_Y,(RANDOM(500)+2000))
BTN(LEFT,UP,G_IMG_X,G_IMG_Y,RANDOM(500))

976 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 12:51:13.08 ID:q8TMEvZw.net]
MEMUというandroidエミュを使っているんですが
MOUSEORGでMEMUのウィンドウIDを指定して裏マクロにしようとすると、CHKIMGやPEEKCOLOR1回ごとにウィンドウの周りが白くなって一瞬(0.1秒くらい?)だけフリーズします
例えばIFB並べてCHKIMGの画像6個探すときは6回分のプチフリーズしてループ、6個のうち上から3個目がヒットするときは3回分の長さのフリーズの後に処理が始まるみたいになります
SAVEIMGの取得をMEMUのウィンドウIDではなくデスクトップにして、クリップボードからPEEKCOLORすれば止まらずに動きますが裏マクロになりませんし…
キーボードマッピング(MEMUの機能)で設定したキーをKBDで押すときは上のプチフリーズは起こらないんですが

977 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 13:55:27.25 ID:8BEM7SHC.net]
こちらからの報告は以上です。どうぞ

978 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 14:53:36.50 ID:yaZ7gTV4.net]
ラジャー、次の質問者どうぞっ!?

979 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 15:02:00.58 ID:uxUjlRum.net]
DorectXだと思うけど、peekcolor多量に回すmemuの画面がフリーズする
フレームバッファをその度にフル転送してるからじゃないのかなあ

で、画面フリーズするとどういう弊害がでてんの?



980 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 15:22:40.86 ID:mewPK9u+.net]
そうですか

981 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 15:43:58.08 ID:PveMLo3f.net]
特定のソフトに依存する質問については、そのソフトの環境を構築する手間暇掛けてまで答える気になれない

982 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 03:13:49.55 ID:HrGwVRMF.net]
Androidエミュごときで環境構築面倒とかいうのもどうかと
中華エミュだから入れたくないとかならまだしも

983 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 04:55:22.58 ID:8MiFu8j6.net]
ガイジあらわるw

984 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 09:57:52.95 ID:AmUi7cYO.net]
わざわざ無能な人のために環境構築してあげてやる道理なんかないでしょ
自分で頑張れと冷たく言い放っておしまい。ぶっちゃけ自分には関係ないからな。困ってるのは私ではなくアイツなのだからアイツが苦しむのはOK
私は上から目線で笑いながらからかってやるだけですよ

985 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 12:17:23.70 ID:oeJhT1F4.net]
環境作る義理ないならついでにいちいちそんなお気持ち表明しにこなくてええんやで

986 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 12:31:28.73 ID:U0nNGufy.net]
匿名掲示板で環境作る義理あるやつなんているのかな?

987 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 12:45:19.55 ID:DM+caa8E.net]
>>927
そう思うなら、答えてあげなさい
オレはやらん

988 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 19:32:48.15 ID:AmUi7cYO.net]
かくして、彼は泣きながら手動で頑張るのでしたとさ
チャンチャン♪

989 名前: []
[ここ壊れてます]



990 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 20:12:02.91 ID:AuKRvxXh.net]
表マクロなら動くんだろ
それでいいじゃん

991 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 07:09:26.47 ID:nFBl7Kad.net]
昨日触り始めた信じられないくらいの初心者で申し訳ないですが知識をお借りしたく
・画像AとBの画像が同時に存在する時のみに画像Cをクリックしたい
・画像AとBの画像が無い場合は次に書いた処理を行いたい
これをしたいのですが1つ目の時点で画像Cをクリックしてくれないです
おかしなところだらけとは思いますがお助けください

While True
ifb CHKIMG("A.bmp") _
and CHKIMG("B.bmp") _
and CHKIMG("C.bmp")
    BTN(LEFT,CLICK, G_IMG_X, G_IMG_Y)
sleep(1/64)

elseif CHKIMG("D.bmp")
    BTN(LEFT,CLICK, G_IMG_X, G_IMG_Y)
sleep(1/64)

992 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 07:55:07.27 ID:rQ15Fo4h.net]
>>935
Andで一行にせずに書いて原因究明
横着しない

993 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 08:14:21.20 ID:NIzk3ndz.net]
横着のつもりはなくAndしか使えそうなのがわからず…
バラで使えそうな何かを探す旅に出てきます

994 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 08:27:55.32 ID:rQ15Fo4h.net]
>>937
そこまで書けてるのに、ifを分けて書くこと出来ない?
その書き方じゃ、本当にABCの画像が同時に存在して認識出来ているか確認できないでしょ?
画像って目視じゃ同じに見えても実は全く同じじゃなかったりするし

995 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 08:42:55.09 ID:NIzk3ndz.net]
>>938
一度に全て探そうとせずにtrue thenで次の画像を探させる方向で考えればいいのです?

996 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 08:53:18.19 ID:Y/jc2SzG.net]
>>939
ifb CHKIMG("A.bmp") then
print "found A"
endif

これでAを本当に認識できてるかどうか確認できる

997 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 09:09:30.18 ID:BeC5o1Q9.net]
いつもmsgbox使ってた

ifb chkimg("a.bmp")
print "g_img_x:"+g_img_x+" g_img_y:"+g_img_y
ifb chkimg("b.bmp")
print "g_img_x:"+g_img_x+" g_img_y:"+g_img_y
ifb chkimg("c.bmp")
print "g_img_x:"+g_img_x+" g_img_y:"+g_img_y
btn(left,click,g_img_x,g_img_y)
sleep(1/64)
endif
endif
endif

998 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 09:40:11.66 ID:NIzk3ndz.net]
ありがとうございます
今は出先なので帰ったらまた試してみます
また詰まったら力を貸してください

999 名前:デフォルトの名無しさん mailto:sage [2021/06/06(日) 13:21:06.69 ID:IWgw88U5.net]
初心者が増えるのは良いな
UWSCがまだ死んでないという事だし
初心者向けの参考書書いても需要ありそうだから、何か書いてみるか



1000 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 20:28:31.54 ID:h+5L1XCT.net]
素人質問で大変恐縮なのですが
乱数を用いてcall先をランダムにする事って可能でしょうか?
rondam(5)
で1の時に
call a.uwsを呼ぶというようなことがしたいのですが

1001 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 20:43:34.89 ID:EQ2vKl4E.net]
可能です

1002 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 20:54:33.63 ID:Lk+y+wSz.net]
//0〜e.uwsがあるとして、

SELECT RANDOM(5)
 CASE 0
  call 0.uws
 CASE 1
  call a.uws
 CASE 2
  call b.uws
 CASE 3
  call c.uws
 CASE 4
  call d.uws
 CASE 5
  call e.uws
SELEND

1003 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 20:56:22.82 ID:Lk+y+wSz.net]
RANDOM(5) なら 0-4だったな

SELECT RANDOM(5)
 CASE 0
  call 0.uws
 CASE 1
  call a.uws
 CASE 2
  call b.uws
 CASE 3
  call c.uws
 CASE 4
  call d.uws
SELEND

1004 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 21:22:37.66 ID:h+5L1XCT.net]
>>945-947
具体的な記述もありできそうです
ありがとうございました

1005 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 21:25:16.67 ID:H3JZ4m/K.net]
callはそういう使い方するものじゃないって
これだけ言われても理解しないんだな

1006 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 21:29:01.75 ID:ptUlvasO.net]
アホの質問にまともに理解していない馬鹿が得意げに答えるからこうやって誤った使用法が広まっていくのさ

1007 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 21: ]
[ここ壊れてます]

1008 名前:31:09.82 ID:Lk+y+wSz.net mailto: 低レベルな質問には低レベルに答える
それだけの事
使い方が間違ってる事にはあえて突っ込まない優しさ
[]
[ここ壊れてます]

1009 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 21:39:01.24 ID:Lk+y+wSz.net]
公式のサンプルの#1、#2のようなCALLの使い方もあるから、別に良いんじゃねという気もしないでもない

公式サンプル
web.archive.org/web/20180428070202/http://www.uwsc.info/sample.html



1010 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 21:39:10.21 ID:uJ2Gt/N3.net]
あ、僕でも答えられる質問だ!
よーし張り切って教えちゃうぞ!

そしてこのざま

1011 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 22:00:38.89 ID:Lk+y+wSz.net]
この程度のことで凄い事になっとるなw
ギスギスしすぎ

1012 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 22:40:03.07 ID:A8n9fwTn.net]
初心者スレでも可能ではなく最適なものを理解した上で質問しなければならなかったのですね、スレが荒れる原因を作ってしまい失礼いたしました猿未満だったようなので猿レベルになるまで勉強してから質問するようにします

1013 名前:デフォルトの名無しさん mailto:sage [2021/06/19(土) 23:21:45.35 ID:25IvVjLU.net]
質問することで質問したこと以外に発見することもあるからええんやで

1014 名前:デフォルトの名無しさん [2021/06/20(日) 00:05:04.52 ID:YihnOY9y.net]
UWSCはそんな高尚なもんじゃないから気にするな
いい歳したおっさんには、一行もコードを書かずに喜々として叩いてる人の気持ちは分からん

1015 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 02:46:28.68 ID:rWaLY8jt.net]
説明が難しいんですけど一部分の動作だけオンオフってできますか?

AndroidエミュのNOXでゲームマクロってのに興味が出ていろいろやってるんですけど、
いろんな処理をwhileとfendの中に入れてるんですけど、その中の一部分だけ画像1を見つけた場合に画像2を見つけるまで他の処理に追加して繰り返し実行されるようにして、
画像1がいなければすっ飛ばすって処理を組み込みたいです
問題は画像1が1回しか表示されないので、都度chkimgで画像1を見つけて実行ってのができなくて、
オンオフみたいに画像1を1回でも見つけたら以降は画像2を見つけるまでwhileとfendの中に組み込めないかなって考えてるんです

1016 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 02:55:34.48 ID:rWaLY8jt.net]
call a.uws

while
//開始ボタンを押す
開始ボタンを押す処理

//終了ボタンを押す
終了ボタンを押す処理

//ここから
画像1を1回見つけたら以降は画像1がなくても画像2を見つけるまでa.uwsの中の処理を上2つの処理に加えたい処理()
//ここまで
fend

こんな感じのことをやりたいです

1017 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 06:27:18.41 ID:tvAYOSZI.net]
NOXの場合の考慮とか
画像1が1回しか見つからないこととか
chkimgを余分に実行して時間がかかることとか
置いておく
状態を変更できる変数を使って画像1と画像2を
見つけたかどうかという状態を管理する
変数の名前はgazou1mitsuketaじゃなくていい

call a.uws
gazou1mitsuketa = False
while True
(省略)
//ここから
ifb chkimg("画像1")
gazou1mitsuketa = True
endif
ifb chkimg("画像2")
gazou1mitsuketa = False
endif
ifb gazou1mitsuketa
a.tsuika()
endif
//ここまで
wend

1018 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 08:03:31.93 ID:2nwNcO+1.net]
>>960
option shortcircuit

call a.uws
gazou1mitsuketa = False

while True
(省略)
 //ここから
 ifb gazou1mitsuketa or chkimg("画像1")
  gazou1mitsuketa = True
  ifb chkimg("画像2")
   gazou1mitsuketa = False
  else
   a.tsuika()
  endif
 endif
 //ここまで
wend

1019 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 22:13:34.21 ID:rWaLY8jt.net]
while trueにwendでした、寝ぼけてました
>>961が正しいってことですかね?やってみます



1020 名前:デフォルトの名無しさん mailto:sage [2021/06/20(日) 23:06:19.83 ID:xqcz4eEH.net]
>>962
959は958を効率よくした感じのはず
958でやってること理解できるなら959の方がいいと思う

1021 名前:デフォルトの名無しさん mailto:sage [2021/06/21(月) 19:36:45.44 ID:qUhNELyw.net]
>>963
ありがとうございます
でもoption shortcircuitってどんな意味があるんですか?
調べてもいまいちわからなくて

1022 名前:デフォルトの名無しさん mailto:sage [2021/06/21(月) 19:57:25.10 ID: ]
[ここ壊れてます]

1023 名前:xAMfoQlc.net mailto: 短絡評価でググって分からなければとりあえずおまじないでいいよ
変な動作すると思ったらまた調べてみると分かるかもね
[]
[ここ壊れてます]

1024 名前:デフォルトの名無しさん mailto:sage [2021/06/23(水) 09:11:36.97 ID:mNR5QgFC.net]
result = funcA() AND funcB()
という式があった時 funcAの戻りがFALSEなら
funcBを評価しなくてもresultの値はFALSEで確定となる
だからfuncBを評価しても時間の無駄なのでfuncBを呼び出さないのが短絡評価

ちなみに旧VBやVBAは短絡評価が無いが、C系やPythonは短絡評価が標準
後者に慣れてるならOPTION SHORTCIRCUITを有効にすると幸せになれる

1025 名前:デフォルトの名無しさん mailto:sage [2021/06/23(水) 23:02:39.31 ID:ZOV9Dozi.net]
//ここから
 ifb gazou1mitsuketa or chkimg("画像1")
  gazou1mitsuketa = True

この場合、gazou1mitsuketa を見つけた場合、chkimg("画像1")を探さずにgazou1mitsuketa = True
で確定するってことであってます?

1026 名前:デフォルトの名無しさん mailto:sage [2021/06/24(木) 02:23:59.47 ID:00iTQ5wf.net]
gazou1mitsuketaがTrueの場合(=すでに1回chkimg("画像1")がTrueになった後)は
gazou1mitsuketaの評価だけでTrueが確定するから2回目以降のchkimg("画像1")は実行されない

1027 名前:デフォルトの名無しさん mailto:sage [2021/06/24(木) 19:13:43.20 ID:PWbklwVl.net]
>>968
すいません、短絡評価についてです

1028 名前:デフォルトの名無しさん mailto:sage [2021/06/24(木) 20:30:05.47 ID:dP2DIBfG.net]
>>969
言葉が足りないからちゃんと書いて
そもそも「gazou1mitsuketaを見つけた場合」ておかしい
gazou1mitsuketaは見つけるものじゃない

1029 名前:デフォルトの名無しさん [2021/06/25(金) 00:17:46.49 ID:vMtaTkKe.net]
すいません、それも言葉遣いだったようですが、>>967の部分が>>966の言う短絡評価ってことであってますか?



1030 名前:デフォルトの名無しさん mailto:sage [2021/06/25(金) 09:53:18.96 ID:EowRs67i.net]
もうすでに答え出てるけど、複数条件式がある場合に、最初の条件一致のみでその条件式を評価できる場合、それ以降の追加条件をスルーするという事

1031 名前:デフォルトの名無しさん [2021/06/25(金) 23:47:56.00 ID:vMtaTkKe.net]
じゃああってそうですね、ありがとうございます

1032 名前:デフォルトの名無しさん mailto:sage [2021/07/03(土) 12:53:45.98 ID:7+9XI9UL.net]
Andoroidエミュでゲームの周回マクロ組んでるんですけれど画像認識の処理を範囲指定じゃなくて指定のプロセス内のみで行う方法ってありませんか?

1033 名前:デフォルトの名無しさん mailto:sage [2021/07/03(土) 12:58:50.69 ID:7+9XI9UL.net]
エミュレーターウィンドウが他のウィンドウに隠れちゃうと画像認識処理が進まなくて困っているということです。

1034 名前:デフォルトの名無しさん mailto:sage [2021/07/03(土) 15:31:03.86 ID:m1bhd94m.net]
MOUSEORG関数を使って頑張ると可能

1035 名前:デフォルトの名無しさん mailto:sage [2021/07/06(火) 03:06:28.27 ID:amsSEIe8.net]
> id = GETID("**** - FANZA GAMES - Iron")
> Hnd = GETCTLHND(id, "Chrome_RenderWidgetHostHWND")
> MOUSEORG(Hnd, MORG_DIRECT, MORG_BACK)
>
> While True
>
> IFB CHKIMG("****_1.bmp")
> BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y,10)
> endif
>
> IFB CHKIMG("****_2.bmp")
> BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y,10)
> SLEEP(1)
> BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y,10)
> endif
>
> SLEEP(1)
>
> Wend


これでバックグラウンドでのブラゲの自動周回自体は機能するのですが
なぜか実行中はブラウザのタイトルバーなどがバグったかのようにずっとチラつきます
これが起こらないようにするにはどうしたらいいんでしょう?

上のものは解説サイトを元にしたもので
そこでの3行目は本来 MOUSEORG(Hnd, 2) でしたが何故かこれでは機能しなかったので
さらに調べてみたところ別のサイトにて MOUSEORG(Hnd, MORG_DIRECT, MORG_BACK) を見つけました
後者で正しく動きはしたもののチラつくようになってしまったという次第です

記述の仕方などが間違っているんでしょうか
教えてください

1036 名前:デフォルトの名無しさん mailto:sage [2021/07/06(火) 07:20:51.43 ID:/RjXbpw3.net]
UWSCはヘルプファイルが優秀だから分からなくなったら読むことをオススメする

MOUSEORGでMORG_BACKを指定している時の画面のチラつきはどうしようもなかったと思う
諦めてそのまま使うか、

1037 名前:MORG_FOREにしてウィンドウを最前面に表示させておくか []
[ここ壊れてます]

1038 名前:>975 mailto:sage [2021/07/08(木) 00:39:02.57 ID:gAnN6jGv.net]
そうなんですか
特に害も無いようなので気にしないことにします

ありがとうございました

1039 名前:デフォルトの名無しさん [2021/07/10(土) 20:08:14.26 ID:XM4MvmXG.net]
ifb chkimg("img.bmp")
btn(left,click,g_img_x,g_img_y)

これで画像の中央または右下をクリックしたいのですが
xとyに画像サイズを手打ちする以外の方法ありますか?



1040 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 20:44:43.14 ID:CnuMoVdC.net]
>>980
btn(left,click,g_img_x + 50,g_img_y + 30)
こういうのではないってこと?

1041 名前:デフォルトの名無しさん mailto:sage [2021/07/10(土) 21:58:25.41 ID:QRyBoOzw.net]
>>980
画像の縦横の幅から中央の座標は計算できるだろ

1042 名前:デフォルトの名無しさん [2021/07/12(月) 01:07:25.55 ID:8PUM0aGH.net]
>>981
はい。頻繁に新しい画像に差し替える上に
毎回画像サイズが微妙に違うので画像の
右端と中央の値も自動で検出ないでしょうか?

1043 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 05:22:18.76 ID:vUaIVbuw.net]
>>983
それぞれの画像のサイズはお前が知ってるんだから指定したらいいのでは?

1044 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 10:24:19.84 ID:H6QXN1y/.net]
BMP画像の幅と高さを得る関数
https://poku.blog/pc/code/uwsc/img-height-wifth.html

1045 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 13:04:37.72 ID:IDkhHauo.net]
自分はchkimgxの関数使ってるな

1046 名前:デフォルトの名無しさん [2021/07/12(月) 22:40:23.83 ID:huq3V1Ev.net]
>>984
サイズは調べないと分かりません。
頻繁に変わるサイズをいちいち確認するのは
中々手間な作業なので省けるなら省きたいです。

1047 名前:デフォルトの名無しさん mailto:sage [2021/07/12(月) 23:51:06.13 ID:8VMj3XKP.net]
>>985で出来ました
ソース貼り付けただけだとうまく動かなかったので文字を囲う"と計算式のマイナスを直したらちゃんと動きました
情報公開する方はちゃんと動くものを出してほしいですね

1048 名前:デフォルトの名無しさん mailto:sage [2021/07/15(木) 05:11:03.79 ID:mj6R5ge4.net]
> 情報公開する方はちゃんと動くものを出してほしいですね
清々しいまでの乞食だw

1049 名前:デフォルトの名無しさん mailto:sage [2021/07/15(木) 07:09:47.12 ID:BwKcyqiC.net]
>>989
気持ちよくしてくれた方に対して乞食呼ばわりは失礼です
まだ義務教育を受けている段階の方なら意味をはっきり理解していない言葉は辞書を引く癖をつければ間に合います



1050 名前:デフォルトの名無しさん mailto:sage [2021/07/15(木) 07:28:32.91 ID:9d/0yVjN.net]
清々しい(きよきよしい)キチガイ

1051 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 19:25:40.38 ID:tA37D2o5.net]
昔PRO購入していたUWSCを最近ちゃんと使い始めて、初めてこのUWSCスレみつけた!
初〜中級者な自分に有益な情報多くてほんと助かります(言い争いも多いけど)。
本スレのほうも楽しみ。
あと作者が亡くなられてたということで本当に残念です。昨日知りました。
このスレが消える前に自分メモ用にログ残したった。
みんな初心者卒業しちゃってて継続なさそうだし。

1052 名前:デフォルトの名無しさん mailto:sage [2021/10/30(土) 19:40:25.15 ID:BIRu0arL.net]
なんで書き込みないのかと思ったらこっちは初心者用だからなのか

1053 名前:デフォルトの名無しさん mailto:sage [2021/11/12(金) 20:31:09.08 ID:9I9Wghw5.net]
UWSCはwindows10で動作するんですか?

1054 名前:デフォルトの名無しさん mailto:sage [2021/11/12(金) 20:33:23.14 ID:JKu/AJc8.net]
>>994
全機能が使えるかは分からんが、俺の用途では普通に使えてる

1055 名前:デフォルトの名無しさん mailto:sage [2021/11/12(金) 22:56:54.17 ID:xoJHoay5.net]
>>994
普通に使える
IE関係の機能は使えないのがあるかもしれないが、IE使ってないから分からん

1056 名前:デフォルトの名無しさん mailto:sage [2021/11/13(土) 09:59:44.60 ID:CrYSxUjw.net]
>>995-996ありがとう
画像認証が出来ないOSの設定なのかな?

1057 名前:デフォルトの名無しさん mailto:sage [2021/11/13(土) 11:16:47.86 ID:Oi0tyZlY.net]
実際にうまく動作しないならそう書け
具体的に書けば教えてもらえるだろう

1058 名前:デフォルトの名無しさん mailto:sage [2021/11/14(日) 00:12:11.79 ID:tEJjUPzv.net]
うめ

1059 名前:デフォルトの名無しさん mailto:sage [2021/11/14(日) 07:53:25.02 ID:xN0MYk0E.net]
誰か作者の魂を呼んでくれ



1060 名前:デフォルトの名無しさん [2021/11/16(火) 01:02:55.97 ID:fqXCMnDe.net]
999

1061 名前:デフォルトの名無しさん mailto:sage [2021/11/16(火) 01:10:18.00 ID:b0ZMvWtK.net]
ご冥福をお祈りします

1062 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1148日 12時間 56分 29秒

1063 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<331KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef