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 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています