19/08/03 02:38:29.78 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:デフォルトの名無しさん
19/08/03 03:03:14.23 U4dG53It.net
さて仕方ないということで>>378のままで実行してみると普通に成功するね
(テスト用を発見しました。が3秒毎に出る)
となると基本的なところを見直そう
環境としてはWindows10? 念のためUWSCのバージョンは5.3.0.2?
あと念のためNoxの設定でレンダリングモードを変えたりしてみた?
自動化ツールUWSC使いよ集まれ21 756- によれば一部の環境でOpenGLではうまく動作しないなどあるらしいよ
(Windowsなのかグラボ依存なのかはっきりとはしない)
418:デフォルトの名無しさん
19/08/03 08:20:35.61 OFX4DJO3.net
>>391
>ウィンドウクラス名はQt5QWindowIcon
このクラス名を見る限り実態は別にあるんじゃなかろうか
419:デフォルトの名無しさん
19/08/03 08:43:36.26 OFX4DJO3.net
>>393
あ失礼
Qt5QWindowIconのクラス名はこのスレ�
420:ノも過去に出てきていた それであっているようですね
421:デフォルトの名無しさん
19/08/03 12:32:06.93 lOZq4lm8.net
>>392
すみません、理由は分からないのですが動くようになりました
というのも訳あってWin7にダウングレードしていたのですが、Win10に戻した所画像が認識されるようになりました
ご協力いただいた皆様本当にありがとうございました
422:デフォルトの名無しさん
19/08/04 13:50:12.50 z/hKv82K.net
画像認識のループマクロで画像が認識されず一定回数ループした場合に別の処理をさせたいのですがどのような手法をとればいいのでしょうか?
423:デフォルトの名無しさん
19/08/04 14:43:10.09 YK9Zosi+.net
画像が認識できないのとループ回数で処理分けたいのは別の話だし手法というほどもない
自分がやるのならwhileによるループ内に画像認識とカウンタで分岐するifなりselectなりで作るが
後のことはそのうまくいかないスクリプト見ないと何が悪いのかは分からん
424:デフォルトの名無しさん
19/08/10 04:37:33.43 7UvH5Dc6.net
>一定回数ループ
本当にやりたい処理はそうじゃないだろう
425:デフォルトの名無しさん
19/08/25 02:21:47.46 02nOh0YG.net
noxにchkimgx走らせたらたまにx:-1332736054 y:399917186
とかとんでもない座標が帰ってくるのですが原因わかりません助けてください
426:デフォルトの名無しさん
19/08/25 04:06:47.43 YF3o46xU.net
分からないものは分からないで済ませる方法を考えよう
たまに変になるだけならxyが指定範囲外ならもう一度走らせればいい
427:デフォルトの名無しさん
19/08/26 14:35:17.89 yberui11.net
確かにそうですね・・・異常値の検知やってみますありがとうございました
428:デフォルトの名無しさん
19/08/26 22:00:32.81 D4IbCpMk.net
DOSCMDを管理者として実行する方法ありますか?Windows7です
429:デフォルトの名無しさん
19/08/26 22:10:52.63 mEUMz2+C.net
そのままググれ
430:デフォルトの名無しさん
19/08/26 22:21:25.54 D4IbCpMk.net
UWSC.exeの設定を変更したあとUWSCを再起動してなかったわ
ありがとう
431:デフォルトの名無しさん
19/08/31 15:41:17.68 /dYnoZCL.net
とあるフリーゲームのセーブデータのバックアップを取りたいのですが、1時間毎にファイルサイズを比較して、変化があればバックアップを取るということをしたいです。
(現在はファイルサイズの変化に関わらずバックアップを取るようにしているため、容量がどんどん増えています)
ですが、ファイルサイズの取得方法がググってもイマイチわかりませんでした。
何方か教えていただけませんか?
432:デフォルトの名無しさん
19/08/31 16:30:13.80 7TXshm9s.net
BETWEENSTR(doscmd(“for %z in (ファイル名) do echo %~zz”), “<#CR>”, “<#CR>”, -1);
試してないので予めごめん。
433:デフォルトの名無しさん
19/08/31 17:14:37.69 /dYnoZCL.net
>>406
親切にありがとうございます。ダブルクォーテーションを半角に直して、コマンドプロンプトを直接叩くと数字が出てくるのですが、UWSCで
PRINT BETWEENSTR(doscmd("for %z in (ファイル名) do echo %~zz"), "<#CR>", "<#CR>", -1);
とすると、『ECHO は <ON> です。』と出てきて、数字になりません。どうしたらいいでしょうか。
434:デフォルトの名無しさん
19/08/31 17:25:18.95 /dYnoZCL.net
自己解決しました。回答ありがとうございました!
435:デフォルトの名無しさん
19/08/31 18:08:17.65 0Yc9lQY2.net
uwsc使う必要ないような…?
436:デフォルトの名無しさん
19/09/01 19:24:18.75 5mFrqnue.net
すみません、以前から同じ問題に悩まされていて、未だに原因が分かりません。
UWSCでandroidを自動化しており、scrcpyというソフトでPCから操作しています。
437:クリックがうまくされないことが多く、待機時間など入れても全く解決しないのですが、 クリックの前に 「print "クリックします"」という記述を入れると問題なくクリックされるようになります。 このような記述を無意味に入れたくはないのですが、原因は何なのでしょうか?
438:デフォルトの名無しさん
19/09/01 19:46:09.23 5mFrqnue.net
追加です。
全く同じスクリプトでその症状がWindows10のみに出ます。
Windows7ではprintの記述がなくても問題なくクリックされます。
何かPC側の設定でそのような問題が起きる項目があるのでしょうか?
439:デフォルトの名無しさん
19/09/01 19:46:25.58 zpdGYnJT.net
問題が再現するスクリプト貼ってくれよ
あと環境やらもね
440:デフォルトの名無しさん
19/09/01 20:13:35.68 5mFrqnue.net
NGワードやら、改行が多すぎるやらでスクリプトは貼れないです。
441:デフォルトの名無しさん
19/09/01 20:29:24.70 5mFrqnue.net
色々検証してみましたが、PRINTでなくも関係ないところを一回クリックすると動作するようです。
なのでBTN(LEFT,CLICK,,)を2回連続して書くと一回クリックされます。
もしくは10秒以上の待機を入れればクリックされました。こちらは待機時間が長すぎて実用性がありません。
442:デフォルトの名無しさん
19/09/01 20:41:43.66 N1GXnBlH.net
そうですか
443:デフォルトの名無しさん
19/09/01 21:20:42.64 zpdGYnJT.net
まあ、Windows10だとそういう問題が多々ある
更新止まってるソフトだし解決しない
まあ、幸いAndroidの操作ならadbという手があるのでbtnの代わりにdoscmdでadbコマンドに置き換えればいいよ
444:デフォルトの名無しさん
19/09/01 21:39:50.56 5mFrqnue.net
ありがとうございます。色々調べても同じような解決方法しかないみたいですね。
次はadb shell input touchscreen tap x yを試してみたいと思います。
445:デフォルトの名無しさん
19/09/02 09:23:16.27 IEOCJvHA.net
サウンドで「プログラムの起動」に何かの音付けると分かるけど
win10って見えないプログラムがしょっちゅう起動してる?から
フォーカスを奪われたようになってるんでない
446:409
19/09/02 15:24:43.08 y60Hvlvu.net
>>418
ありがとうございます。
My Window Loggerというソフトを使って調べてみましたが、
フォーカスは外れていないようです。
447:デフォルトの名無しさん
19/09/09 11:38:19.09 0frhp+Tu.net
スレチかもしれないんですが、UWSCのスクリプトファイルが複数あって、同じ個所を同時に修正するようなソフトってないですか?
WinMergeを使っていますが、3個までしか同時編集できません。
448:デフォルトの名無しさん
19/09/09 11:38:51.09 TLffwesQ.net
関数化する
449:デフォルトの名無しさん
19/09/09 12:17:09.85 eI5EZMSU.net
関数化というか同じという箇所を別ファイルに切り出してcallするだけでもいい
まあ、変数の管理があるので関数化が望ましいかもだけど
450:デフォルトの名無しさん
19/09/12 14:37:32.43 pwiI+xHT.net
今まで使ってた物がwin10アプデ後動かなくて調べたら、原因はわかったんだけど、対処法がわからないのでアドバイスください
URLリンク(qiita.com)
ここのサイトを参考に作ったもので、「サンプルコード(完成形)」の画像を発見したあとの処理にBTN関数を入れると反応がありません。
原因は「MOUSEORGによる補正」の
MOUSEORG(winid,MORG_DIRECT,MORG_FORE)
が原因みたいです。
MOUSEORG関数について読んだのですが、正直良くわかりませんでした。
削除すれば一応動くのですが、どうしたら良いでしょうか?
451:デフォルトの名無しさん
19/09/12 15:12:59.56 psJkeShP.net
過去にもそれ何度か話題になってるけど直接的な解決方法はなかった気がする
NoXとかならadbで接続してタップするコマンド送信するとか
452:デフォルトの名無しさん
19/09/12 18:50:26.13 IcXkdgTx.net
常にデスクトップに表示してマウス取られていいなら消せばいい
それが嫌なら記事の通り
453:デフォルトの名無しさん
19/09/12 19:48:01.48 pwiI+xHT.net
>>424
そうなんですね。情報ありがとうございます。
454:デフォルトの名無しさん
19/09/14 18:38:20.96 J9OvsDUU.net
あいまい検索できるCHKIMGXって使うたびにstartup_chkimgxとshutdown_chkimgxではさまないといけないの?
startup_chkimgx()
while true
<処理>
wend
shutdown_chkimgx()
て形ではさむの1回でもあいまい検索できてる気がするんだけど
<処理>のところにいくつもchkimgxて書くこと考えると毎回はさむの大変なんだけど楽なやり方ある?
455:デフォルトの名無しさん
19/09/14 19:00:58.02 suhfvUA6.net
できてりゃいいし、気になるなら何やってるかスクリプトお読みなさいよ
456:デフォルトの名無しさん
19/09/14 19:29:28.42 T/fmJAyy.net
これはもはや初心者ではなくて考えることを放棄した猿
457:デフォルトの名無しさん
19/09/16 00:21:03.12 J++fziTo.net
メールアドレスをEXCELからIEのアドレス欄にコピペしようとしたら、コピペ出来ないどころか右クリックもきかない場合はコントロールCもダメなときは、どうすれば良いでしょうか?
458:デフォルトの名無しさん
19/09/16 02:24:56.23 c545q6Mo.net
python勉強してuwscでやってたこと移行していってるけど
chkimgxってめちゃくちゃ使い勝手良かったんだなー
うまくここまでいい具合のもの作れないや
459:デフォルトの名無しさん
19/09/16 03:46:26.17 d0MhJ3Yl.net
chkimgxに相当する物が無いのか
人工知能やweb巡回ロボなどで注目されていから
Pythonやってみようかと思っているのに
460:デフォルトの名無しさん
19/09/16 06:36:15.46 shGVxZhQ.net
>>430
シートの保護を解除する
>>431,432
ただのopenCVラッパーなので同じように関数化すれば同じ使い勝手だが…?
461:デフォルトの名無しさん
19/09/16 09:02:03.26 J++fziTo.net
>>433
ありがとうございます。
やってみます
462:デフォルトの名無しさん
19/09/17 09:29:48.59 Qlpvvbbr.net
OpenCVそのままだね、あいまい検索もパターンマッチングの閾値さげるだけ
連番ファイル名のあいまいとか細かい処理は自分で追加しなきゃいけないけど
name, ext = os.path.splitext(FileName)
multi = glob.glob(name + '.[0-9]' + ext)
463:デフォルトの名無しさん
19/09/17 12:15:59.14 W7Brc645.net
画像の特定の色指定してマッチングとかは?
まあここらへんまで実装するのがただのuwscユーザーとしては難しいって意味じゃないの
464:デフォルトの名無しさん
19/09/17 23:07:48.56 Qcff0eSx.net
何が難しいのかは本人以外には分からんが難しくたってやりゃできるお手本あるんだからその内できるだろ
465:デフォルトの名無しさん
19/09/21 15:31:11.62 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:デフォルトの名無しさん
19/09/21 15:35:02.99 idUljkgM.net
あるんじゃない?
元々そういうソフトだし
467:デフォルトの名無しさん
19/09/21 15:47:33.83 mk38kF2N.net
画像の下とはどういう意味か
468:デフォルトの名無しさん
19/09/21 15:48:10.01 d3d5sbQS.net
BTNの前にいったん適当な変数へG_IMG_Yを
コピー代入し、それをずらしたい量だけ増加させてから
その変数でBTNを呼ぶ、という単純な話ではなくて?
469:デフォルトの名無しさん
19/09/21 18:30:07.78 VtT+26ja.net
検索画像の座標に関係あるのかないのかどっちなんだ
クリックするかの判定に画像使ってるだけで実際クリックするボタンの位置固定がなら
そもそもg_img_x/y使わず、クリックしたい場所を固定値なり別の変数/定
470:数にしたらいい
471:デフォルトの名無しさん
19/09/24 21:54:56.01 lGKeQ6/A.net
Edge上でドラッグ&ドロップ動作をエミュレーションしようとしてるけどうまく行かない
Edge側の問題っぽいが
472:デフォルトの名無しさん
19/09/25 02:02:13.55 idiO5sU0.net
EdgeというよりUWPアプリ全般で多分うまくいかないんじゃないの
473:デフォルトの名無しさん
19/09/26 11:47:45.82 2E8AEgsX.net
UWSCを今日から始めました。
皆様、宜しくおねがいします。
早速なのですがSLEEPについて教えて下さい
<理解していること>
SLEEP(0.1)
0.1秒スリープ
---------------
SLEEP(RANDOM(2))
0or1or2秒スリープ
---------------
<やりたいこと>
0.01秒から1秒の範囲でランダムにスリープしたい場合は
どうしたら実現できますか?
皆様のお知恵を宜しくおねがいします。
474:デフォルトの名無しさん
19/09/26 11:56:29.09 8zbcqLQ8.net
Sleep(Random(100) / 100)
475:デフォルトの名無しさん
19/09/26 12:09:10.09 2E8AEgsX.net
>>446
早速のご回答有り難うございます。
こういう表記の仕方があるんですね
まったく思いつきもしませんでした。
有り難うございます!!!
476:デフォルトの名無しさん
19/09/26 12:13:50.53 bGOHcRaB.net
randomは引数の範囲最大値は出ないことに注意
例示の引数2の場合で言えば0か1しか出ない
で、要するに1~100の値を求めて100で割れば0.01~1.00となるわけで
randomの仕様を考慮&利用すると以下の通り
(random(100) + 1) / 100
477:デフォルトの名無しさん
19/09/26 12:20:51.72 8zbcqLQ8.net
>>448
>randomは引数の範囲最大値は出ないことに注意
知らなかった、申し訳ない
478:デフォルトの名無しさん
19/09/26 12:46:58.57 2E8AEgsX.net
>>448
更に詳しい解説及びSLEEP(RANDOM(2))についての指摘
有り難うございます。
「引数2の場合ば0か1」勉強になりました。
本当に有り難うございます。
479:デフォルトの名無しさん
19/09/26 13:55:37.41 iUaFKvJQ.net
すっごい初歩的な質問かもしれませんが、
メモ帳にもの凄い長い文字列がありその途中に
a
b
c
という1文字ずつの文字列が10個くらいあってそれを全部
d
e
f
に簡単に変える方法ってあるでしょうか?
最終的にはそのabcをdefに変えたもの
ghiに変えたもの、jklに変えたものなど沢山必要なため、手作業で一つ一つ変えていくのだと膨大な時間がかかってしまうためよろしくお願いします。
480:デフォルトの名無しさん
19/09/26 14:03:02.51 5T2rMbCQ.net
んなもんUWSCじゃなくてエディタの正規表現で置換せーや
481:デフォルトの名無しさん
19/09/26 14:07:22.25 bMINaTXu.net
すっごい初歩的な質問だし、やり方も何通りも思いつくけど、お前が思いつかないって事はあとから要件がコロコロ変わるか、全くの初心者かなので一つ一つ手作業でやったほうが早い。
482:デフォルトの名無しさん
19/09/26 14:09:46.30 DaWSSFTy.net
Replaceってあったっけメモ帳の置換の方が早そう
483:450
19/09/26 14:25:46.18 iUaFKvJQ.net
メモ帳の置換を使った場合
abcという横に並んだ文字列をdefという横に並んだ文字列に変えるってのだと一瞬でできたんですが、縦に並んだ
a
b
c
を
d
e
f
に変える場合だと上手くいかないんですが
何か方法はありますか?
484:デフォルトの名無しさん
19/09/26 14:29:56.39 ff/FN5DC.net
改行を含めて直列にしてから元に戻せば楽なんじゃね
つーか、改行をまたいで文字列置換してくれるエディタがあった気がするが
485:デフォルトの名無しさん
19/09/26 14:36:55.66 5T2rMbCQ.net
正規表現でぐぐれ
あとはスレチだ失せろ
486:デフォルトの名無しさん
19/09/26 14:41:33.51 bMINaTXu.net
正規表現なんていらんだろ。。。何いってんだw
487:デフォルトの名無しさん
19/09/26 14:47:35.38 PdDoKstg.net
>>456
それこそ、マイクロソフトのワード(苦笑)ですら
置換画面であいまい検索にチェックを入れて
a^pb^
488:pc^p を abc へ置き換えることで可能かと。 秀丸エディタその他のエディタでも一般的にできる。
489:デフォルトの名無しさん
19/09/26 14:53:59.09 i7CtdN8G.net
具体的なことは一切書かず偉そうなことだけ抜かしてるお前こそ一体なんやねん
アホは黙っとけ
490:デフォルトの名無しさん
19/09/26 14:56:42.66 bMINaTXu.net
>>460
間違いしか書いてないやつに言われたくないぞwあほ
491:デフォルトの名無しさん
19/09/26 14:58:41.92 3k8gDmD5.net
別に正規表現でもできるし間違いではなくね?
492:デフォルトの名無しさん
19/09/26 15:00:59.83 5T2rMbCQ.net
>>461
なにがどう間違いなのか詳しく頼むわ
そしてさっさと正しいやり方を書いてくれ
それと、>>460は俺じゃないぞ阿呆w
493:デフォルトの名無しさん
19/09/26 15:04:09.18 bMINaTXu.net
正規表現なんて必要ない。UWSCならREPLACEでも使えばいい。
スレ内で対応可能だし、正規表現でググるとかアホ
494:デフォルトの名無しさん
19/09/26 15:05:49.73 /5glJw3r.net
何がしたいのかいまいちわからんが
abcをdefに変えるだけなら正規表現は必要ないかもしれんけど
他にも色々変えるんだったらさっさと正規表現でも使ったほうが速いだろ
495:デフォルトの名無しさん
19/09/26 15:07:24.62 bMINaTXu.net
だから「要件がコロコロ変わるか、全くの初心者かなので一つ一つ手作業でやったほうが早い」
496:デフォルトの名無しさん
19/09/26 15:09:23.30 5T2rMbCQ.net
マクロの流れで書き換える必要があるならreplace使うのは分かるが
単純にテキストの文字列書き換えるだけでわざわざuwscでreplace使うとかどっちがアホなんだよw
497:デフォルトの名無しさん
19/09/26 15:12:54.58 bMINaTXu.net
はいはい。アホとの会話は要件聞き出すより無駄だわ。
わざわざメモ帳で正規表現使う方法でもググっとけw
498:デフォルトの名無しさん
19/09/26 15:12:58.19 OcEGW6mq.net
>>464
んで、具体的なやり方は?
499:デフォルトの名無しさん
19/09/26 15:13:06.47 DaWSSFTy.net
行・列関係なく縦に並んだ指定文字なら面白い質問なのに
500:デフォルトの名無しさん
19/09/26 15:14:37.41 bMINaTXu.net
だから「要件がコロコロ変わるか、全くの初心者かなので一つ一つ手作業でやったほうが早い」
501:デフォルトの名無しさん
19/09/26 15:19:02.37 eZXWH36o.net
abcをdef、ghi、jklとかたくさん変えるとか言ってるし正規表現でやったほうが早いだろ
502:デフォルトの名無しさん
19/09/26 15:20:58.61 bMINaTXu.net
>>472
お前は正規表現をググったほうがいいw
503:デフォルトの名無しさん
19/09/26 15:24:30.08 VJCVWXU0.net
煽るだけのベテラン基地外がまた湧いたのか
向こうが過疎ってるからってこっちにくんなよ
504:デフォルトの名無しさん
19/09/26 15:24:57.66 5T2rMbCQ.net
何通りもやり方は思いつくとか言いながら、煽るだけで決して何一つ言わない時点でお察し
どうしようもねえなw
505:デフォルトの名無しさん
19/09/26 15:27:37.43 Dz9wKQLF.net
メモ帳で正規表現なんて使えるの?
506:デフォルトの名無しさん
19/09/26 15:32:08.31 bMINaTXu.net
おぃおぃ。本気で置換と正規表現を混同してるやつがいるのか^^;
ググるなら「置換」だし、作業するなら「改行を検索に含めることができるテキストエディタを探す」だぞ。
要件変わるから多分無意味だけどw
> メモ帳で正規表現なんて使えるの?
メモ帳のテキストを吸い出して、正規表現にマッチングさせればいいけど、普通はやらん。
対応してるテキストエディタ使う。
507:デフォルトの名無しさん
19/09/26 15:32:23.98 balOv07a.net
教える気もない上級者さんは>>1のスレから出てこないでください
508:デフォルトの名無しさん
19/09/26 15:38:07.93 bMINaTXu.net
>>478
そうする。ひどいなここ。
509:デフォルトの名無しさん
19/09/26 15:42:08.85 tLIoXhFC.net
それだけ長文かけるならやり方書いてあげればいいのに
uwscスレって定期的に煽りキチガイ沸くよな
510:デフォルトの名無しさん
19/09/26 16:15:32.47 2E8AEgsX.net
>>451
WindowsのTeraPadで置換機能つかって
検索する文字列を「\na\nb\bc\n」
置換後の文字列を「\nd\ne\nf\n」
とすれば
a
b
c
を
d
e
f
とに力技でできます。
UWSCは本日1日目なのでわかりません。
511:デフォルトの名無しさん
19/09/26 16:23:29.46 2E8AEgsX.net
上の補足
qwea
b
c
の変換はちゃんと行わないのですが
先頭から
a
b
c
となるテキストは変換できません
512:。 先頭がaとなるときの表現方法が正規表現で可能なのかな? 詳しくないのでごめんなさい。
513:450
19/09/26 16:40:53.92 iUaFKvJQ.net
ありがとうございます。
やってみます。
514:デフォルトの名無しさん
19/09/26 17:09:08.72 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:デフォルトの名無しさん
19/09/26 18:14:18.26 2E8AEgsX.net
>>484
わかりやすい解説有り難うございます。
おっしゃる通り、TeraPadは正規表現使えないみたいです。
Meryを使って
検索する文字列 "(^|\n)a\nb\nc"
置換後の文字列 "\1d\ne\nf"
を使えば先頭文字aの場合も解決できて
置換後の文字列を何種類か作っておけば
>>451さんは幸せになれますね。
個人的にはでMaryをUWSCで操作すると言う手も考えちゃいますけど
スマートな方法は
UWSCで正規表現を使う場合にはVBScript等使えばできるみたいですね。
516:450
19/09/26 18:45:29.17 iUaFKvJQ.net
Meryだと無事に置換ができました。
本当にありがとうございます。助かりました。
517:デフォルトの名無しさん
19/09/26 19:56:14.78 2E8AEgsX.net
自分もMery使用したことがなかったのでインストールして
上記置換処理やってみました。
一瞬で置換され便利ですね
過去ログでもおすすめエディターみたいですので少し使ってみます。
>>484さんに感謝
518:デフォルトの名無しさん
19/09/27 06:24:51.56 HGFU/goi.net
ものすごく初心者な質問させて頂きます。
過去ログのソースコードを見させて頂いているのですが
人によってコマンドの記述が違います。
例
1.print XXXX
2.Print XXXX
3.PRINT XXXX
というように大文字と小文字を混在されています。
なにか理由があるのでしょうか?
519:デフォルトの名無しさん
19/09/27 08:17:47.20 C42tS7ey.net
言語的に予約語、関数名、変数名に大文字小文字の区別がなく、専用のエディタもないから好きなように書いているだけ
※専用じゃないけどvscodeやサクラエディタ用の拡張や予約語リストはあるので入れることをオススメ
ちなみに例えば自分はPCでなら関数は大文字、変数名は小文字キャメル(定数は大文字)を緩く守るが
掲示板なんかにスマホから短いコード投下する時は面倒なので小文字かな
520:デフォルトの名無しさん
19/09/27 08:18:23.10 P2udmMmf.net
1.個人のこだわり(ひとによっては宗教レベル)
2.タイピングの癖
3.UWSCの寛容さへの甘え
521:デフォルトの名無しさん
19/09/27 10:12:57.50 UTbYC5kd.net
Pascal系は大文字小文字を区別しないものが多い、C系はほとんど区別される。UWSC作った人がPascal好きだったか?
522:デフォルトの名無しさん
19/09/27 10:56:47.41 C42tS7ey.net
uwscはPascalというかDelphi由来
523:デフォルトの名無しさん
19/09/27 11:16:12.69 HGFU/goi.net
>>489
大文字と小文字に区別がないこと理解しました。
私も関数は大文字、変数名は小文字キャメル(定数は大文字)で
同じ様に記述してみます。
>>490
個性が出やすくなるんですね。
短期間でのレスありがとうございます。
524:デフォルトの名無しさん
19/09/27 21:12:48.80 swY7XTEk.net
スクリプト終了しても消えない変数みたいなのは作れますか?
いちいちファイルに保存しないとダメ?
525:デフォルトの名無しさん
19/09/27 21:18:29.42 szJrwaq1.net
ファイルに保存しないと駄目
526:デフォルトの名無しさん
19/09/27 22:06:37.44 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
19/09/27 22:09:22.58 0SGX+H6c.net
連投スマソ、補足です。
495では省略してしまいましたが、
ループが始まる前に、クリップボードにはなにかしらのデータをコピーしておく
プログラムを書いています。
529:デフォルトの名無しさん
19/09/27 22:28:07.12 szJrwaq1.net
WHILE A = "<#CR>"
これだとAが改行の間ループすることになる
530:デフォルトの名無しさん
19/09/27 22:34:58.29 Fhm0Ycov.net
WHILE A = "<#CR>"
だと空白である間ループするようになると思うけど
それはそうと
今やろうとしてるような表示上のセルを直接見ながらという手もあるとは思うけど
CSVなりに内容を吐き出させた上でファイルを処理したほうがよいのでは
とくにセル数が多ければそちらのほうが圧倒的に速いし
キー操作をおこなうより安全だと思う
531:デフォルトの名無しさん
19/09/27 23:15:06.36 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
19/09/28 00:24:45.36 qPxO4zq5.net
皆様迅速なご回答をしていただきありがとうございます。
whileの基礎的なことすら分かっていなかった自分が恥ずかしいです。
マクロは、excelデータから社内の伝票作成ソフトへ相手会社名や振込先口座、金額などを
転記したいために作っております。
>>498
おかげさまで=を<>にしたらイケました。
>>499
csvもあるんですね。確かにキー操作は不安でした。
ただ、このマクロを最終的に「B列のコピーした内容が"x"ならC列を飛ばしてD列をコピー」など
IF?で分岐させていく予定なのですが、それでもcsvで対応できるんですかね・・・
>>500
8列くらいのデータがあるんです、、、
ただ、今後使うことがあるかもしれないので、参考にさせていただきます。
533:デフォルトの名無しさん
19/09/28 01:21:29.50 Y40c4v1p.net
CSVカンマ区切りにしか対応してないがFGET()で読めば
戻値 = FGET( ファイルID, 行, [列, ダブルコーテイション] )
のように列を指定して取り出せる
渡す相手に対しても相手のウィンドウに直接入れるのではなく
ファイルをつくり渡すことも考えられる
相手がカンマ区切りのCSVを読み込めるならFPUT()で書き出し安いが
そうでなかったとしてもXMLやJSONあるいは相手の独自形式のファイルに
して受け渡すことは検討してみたほうがいいと思う
534:デフォルトの名無しさん
19/09/28 01:51:10.04 Y40c4v1p.net
あるいは1行まるごとを読んでSPLIT()で配列化して扱える
ファイルを読んで新しいファイルを作るような
535:場合だと もしかしたらperlやpythonで扱うほうが楽かもしれないが
536:デフォルトの名無しさん
19/09/28 04:36:04.09 va6TJWDv.net
>>501
ん、rpa的なことやるならuwscはやめた方がいいよ
理由は色々あるが懸念の通りexcelフォーマットを読み解き柔軟に組むのは不可能じゃないが向いてない
そういうのはVBAか標準でexcel操作可能なrpa用ソフト使った方がいい
(まあ、uwscもproはちょっとexcel専用関数あるんだけど…)
自分が組むならまずは分岐とか余りしなくて済むような、単純作業のインプットになるデータフォーマットを考える
(何なら貼り付け先のソフトの画面全項目でもいい)
そのフォーマットにexcelから落とし込むのは恐らくはVBAが適当で、転記はuwscにやらせるのがいいんじゃないかな
excelから直接別ソフトへ転記は無駄に難易度上がるだけだよ
537:デフォルトの名無しさん
19/09/28 06:16:08.57 Ct1nF35m.net
向いてないのか
職場でRPAが話題になってるの聞きながらuwscでいいじゃんって思ってた
538:デフォルトの名無しさん
19/09/28 06:30:07.11 CcJW/+z6.net
向いてないと言うか力技なんだよ
データをcsvで読みこんで対象のテキストボックスに流し込むとかやりようはありそう
539:デフォルトの名無しさん
19/09/28 20:20:42.41 2HxgDAhh.net
今日でこのソフトに出会って3日目なんですけど
むちゃくちゃ便利ですね。
今まで手動で3時間くらいポチポチしてたことが
皆さんのソースコードを読みながらお茶してるだけで勝手にやってくれる
もうちょい早く出会ってPro版を購入したかった。
540:デフォルトの名無しさん
19/09/28 21:58:40.51 Bvcc+55+.net
CSV なら、Ruby で処理するのが簡単
541:デフォルトの名無しさん
19/09/29 00:24:15.19 2oHQQmaP.net
いやcsv処理する話しじゃないんで…
542:デフォルトの名無しさん
19/09/29 17:38:04.40 yyfVEle8.net
このソフトてモニタースリープ状態のまま動かすのて無理ですかね?
543:デフォルトの名無しさん
19/09/29 17:42:46.79 4kqLeu2A.net
uwscでマウスのカーソルを移動させても反応しません
手動で移動させると反応します
この違いはなぜ起こるのでしょう
mmvで移動させています
クリックは両方とも反応します
544:デフォルトの名無しさん
19/09/29 18:04:51.80 4kqLeu2A.net
連投すみません
uwscではマウスオーバーしたという判定が出ないんです
html5の仕組みが関係しているんでしょうか
545:デフォルトの名無しさん
19/09/29 19:15:04.42 uzWuDMUd.net
試してみたいからスクリプト貼ってくれよ×2
546:デフォルトの名無しさん
19/09/29 22:43:58.25 NTZExMlG.net
>>510
たいていのことはできると思うが
POFF(P_MONIPOWER2)
と
POFF(P_MONIPOWER3)
との間に
試したい処理を入れてテストしてみればいい
547:デフォルトの名無しさん
19/09/29 22:51:03.21 NTZExMlG.net
>>512
どんなページのどういう部分かわからないけど
MMVでピタッとある座標に移動しても反応しないものが
人がマウスを移動するようにMMVで位置を少しづつ
ずらして移動すると反応する場合もある
548:デフォルトの名無しさん
19/09/30 06:38:09.68 PihPYg9U.net
マウスオーバーってマウスカーソルが要素の境界またいだら起きるイベントだったりしない?
549:デフォルトの名無しさん
19/09/30 09:37:01.91 n0JFz+mK.net
>>505
RPAはコーディングいらないんだよ
高性能なやつだとAIが操作内容を解析して最適化までしてくれる
550:デフォルトの名無しさん
19/09/30 11:10:24.43 jC4keZpM.net
それは幻想だ
551:デフォルトの名無しさん
19/09/30 14:38:39.72 dVa1Usr4.net
RPAはボタンやOCR的に画面の字を認識するのはデフォだろ
UWSCの画像認識はお世辞にもry
552:デフォルトの名無しさん
19/10/01 23:49:48.17 s21ezsHI.net
>>515 >>516
mmvで動かしてるだけです。
mmvを何
553:回もやって、ゆっくりにしてもだめでした。 境界をまたいでもだめでした。
554:デフォルトの名無しさん
19/10/08 13:22:45.54 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:デフォルトの名無しさん
19/10/08 17:10:33.10 Jw4k5nXF.net
>>521
MOUSEORG(ID,1)だとできるの?
556:デフォルトの名無しさん
19/10/08 19:10:24.22 9e1T1J7x.net
>>522
KBDとACC指定デフォルトのSENDSTRは入力が通ります
557:デフォルトの名無しさん
19/10/08 19:25:09.29 WUNHA4Q/.net
変なことせずに単に
nox_adb shell input text ‘文字列’
じゃなんか駄目なのかね
テキストボックスにフォーカスあたってる?
558:デフォルトの名無しさん
19/10/08 20:18:11.78 9e1T1J7x.net
>>524
input textは2バイト文字送れないようです
フォーカスはもちろん当たってます
559:デフォルトの名無しさん
19/10/08 20:40:35.50 WUNHA4Q/.net
なるほど、そういえば自分も同じことやった気がする
結局どうやったかなあ
input keyevent 279
(もしくはKEYCODE_PASTE)
でnox内のクリップボードから貼り付けは出来るよね
で、sendstrだと直接Windows側のクリップボードに送っちゃうから確かnox内に送れなくてなんかしたんだけど何かを忘れた
Windows側でctrl+cとかそんなレベルのことやったような…sendstrのパラメータで解決したようなうろ覚え
560:デフォルトの名無しさん
19/10/09 01:21:59.63 dWWBbVm8.net
>>526
確かにNox内のクリップボードにある文字列は貼り付け出来ますね
ただ同じくUWSCからNox内のクリップボードに文字列を送る方法が分からなくて、あーだこーだしてる内に解決しました
NoxでADBKeyBoardを使う場合はAndroid7でないと動作しないようで、
Android7でインスタンスを作り直したらBroadcastで2バイト文字の送信が出来ました
UWSCというよりAndroidの質問になってしまいましたが、回答してくれた方々ありがとうございました
561:デフォルトの名無しさん
19/10/11 02:29:57.15 l8XLJu9S.net
今pro番を使おうと思ったらどうしたらいいですか?
562:デフォルトの名無しさん
19/10/11 06:58:36.99 Td6I+Zpy.net
Pro版のインストールファイルを入手できれば
方法はあるけれど....
563:デフォルトの名無しさん
19/10/11 07:57:18.50 aMgrTkTz.net
ファイルがあってもライセンスキーがなければだめでしょ
564:
19/10/16 21:26:16 2hMqi2nO.net
質問なのですが、万が一のためにマクロ実行中に、Escキーを押すと
マクロを中断させたいのですが、Escキー以外は操作を無効にさせたいです。
LockHardを覚えましたが、Escキーが効かなくなってしまいます・・・
sethotkey(VK_ESC, 0, "ForceStop")
LockHard(true)
565:
19/10/16 23:23:09 Feea5J53.net
STOPFORM()出しといたらダメなの
あとLOCKHARDEX()でウィンドウ限定するとかは
566:デフォルトの名無しさん
19/10/17 12:12:39 A4Rdxp6g.net
>>526
なるほど、stopformという手もあるんですね!
マウスとキーボード操作を受け付けないようにしながら、escキーだけ受付・・・というのはやはり難しいでしょうか?
567:デフォルトの名無しさん
19/10/17 12:52:54.52 A4Rdxp6g.net
たびたび質問ですみません。
ものすごく初歩的なことなのかもしれませんが、chkimgxって画面に前面で表示されていないのだめなのでしょうか?
2つのソフトをsckeyでキー操作しているのですが、片方が裏にまわってしまうと認識していないような気がします。
とりあ�
568:ヲずの対策として、acw(0,0)とctrlwin(showとtopmost)でウインドウ位置+手前表示固定しているのですが。
569:
19/10/17 13:06:59 bO7Ftz48.net
MOUSEORGの引数が間違ってなければウィンドウが被ると駄目なソフトなんでしょ
その2つのソフト名は?他に使ってる人が居れば情報が得られるかもしれない
570:
19/10/17 14:09:22 tJ4XAWvT.net
例えばNoxだと単発ウインドウなんで裏に隠れてても取れる
BlueStacksだと親ウインドウしか指定してないと描画してる子ウインドウが隠れると取れない、子ウインドウを指定すればいい
571:デフォルトの名無しさん
19/10/17 21:35:08.48 4XXN/n+s.net
>>535
>>536
ご回答ありがとうございます。
なるほどですね、そういう仕組みになっているのですね。
572:デフォルトの名無しさん
19/10/22 02:49:35 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:デフォルトの名無しさん
19/10/22 04:41:04 a1/9gbM9.net
シングルタップはできてるんだよね?
574:デフォルトの名無しさん
19/10/22 13:39:26.21 L/O8BxfD.net
>>539
シングルタップは問題なく動いています
575:デフォルトの名無しさん
19/10/22 13:46:16.17 a1/9gbM9.net
>>540
Sleepを増やしてどうか
576:デフォルトの名無しさん
19/10/22 13:56:35.11 8YNql35h.net
いちいち、cdから始めるから間隔空き過ぎって話じゃないの?
shell以降で連続してタップ送るとか、path通して処理時間短縮するとかそういうアプローチの仕方してみたら
577:デフォルトの名無しさん
19/10/24 18:01:47.14 xBrr20Dc.net
>>542
多分そうじゃないかな。
nox_adb.exe はフルパスで.exeも略さずに記載する。
sleep 0.1 は消してみる。
それでもだめなら、android本体側にダブルタップの
イベントを用意し、それをadbで起動する手がある。
試していないが例えば下記。
URLリンク(stackoverflow.com)
URLリンク(sp.ch.nicovideo.jp)
578:デフォルトの名無しさん
19/10/25 10:35:07.95 V94JerTM.net
Noxの話題が出ているので便乗して…
CHKIMG関数をNoxウィンドウに走らせると画面がチラついてそのまま真っ暗になることがあります
MOUSEORGでMORG_FOREを指定してもチラつきが抑えられません
発生頻度は数時間に1回発生するかどうかで偶にという感じです
解決策か原因をご存知の方はいらっしゃいませんか
環境はOSがWindows10、Noxのバージョンが6.0.8.3です
579:デフォルトの名無しさん
19/10/25 11:34:44.08 iWBj7Wic.net
noxの設定で描画のOpenGLをDirectXに変えてみるとか
580:デフォルトの名無しさん
19/10/25 12:17:47.97 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:デフォルトの名無しさん
19/10/25 12:53:23.96 gsbQkWqD.net
>>546
試してないから出来るか微妙な気もするけど
shellで1回区切ればリモートシェル状態になるので
nox_adb shell & input ~ & input ~ & exit
とする(exitなくてもいいかも?)
次善策としては
nox_adb shell input
582:~ & nox_adb shell input ~ とする
583:デフォルトの名無しさん
19/10/25 17:43:44.15 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:デフォルトの名無しさん
19/10/25 18:48:26.13 gsbQkWqD.net
>>548
& exit外しても落ちる?
もし落ちたとしてダメなら>>543の提示方法
ただこれはぶっちゃけ準備面倒で現実的じゃないので
noxの仮想キーのスクリプトボタンでダブルタップ作ってuwscからはsckeyでどうかな
585:デフォルトの名無しさん
19/10/29 18:26:13.64 tLCpEMn0.net
Windows10については徐々に更新されているらしい
Windows Command-Line: Unicode and UTF-8 Output Text Buffer
URLリンク(devblogs.microsoft.com)
586:549
19/10/29 18:33:02.66 tLCpEMn0.net
>>550
誤爆です
すみません。
587:デフォルトの名無しさん
19/10/30 22:06:29.29 zKjMcLjE.net
もしかしてですけど、excelのCOMオブジェクトでシート名を指定して
それをアクティブにするにはpro版じゃないとできないのでしょうか?
(XLACTIVATEというpro専用関数を見つけました・・・)
たとえば、「test1」と「test2」というシートを交互に選択したいのですが。
588:デフォルトの名無しさん
19/10/30 22:20:41.62 zKjMcLjE.net
たびたびすみません。
既に開いているexcelファイルに対してrange.selectなどの操作をしたいのですが、
サンプルスクリプトを改変しながらやっておりますが、
EXCEL.Workbooks.add() // 新規ワークブック作成
を抜くとcomエラーが出ます。
どうすればよいのでしょうか・・・
589:デフォルトの名無しさん
19/10/31 22:19:57.30 2PR/MUI3.net
そういう場合Activeworkbookで拾うんだよ
590:デフォルトの名無しさん
19/11/13 14:06:54.83 KJOE9J4P.net
作者さんはお亡くなりになられたのですか?
591:デフォルトの名無しさん
19/11/13 21:11:38.75 HJ+xL4oZ.net
うn
592:デフォルトの名無しさん
19/11/14 00:26:50.94 1xX/pUlc.net
ついにFirefoxの動作が思わしくなくなったので卒業した
593:デフォルトの名無しさん
19/11/24 21:08:58.59 twqCowHe.net
ずっとWindows7で使用していたスクリプトをWindows10で実行したところうまく動かないので
UWSCを5.0から5.302へアップしたら今度はエラーが出て実行すらしなくなってしまいました
今まで動いていたスクリプトがなぜエラーになったのか見当がつきません
同じ経験をして解決された方いましたら教えて下さい
エラー箇所はforループで起こりネスト構造がおかしいような内容でした
よろしくおねがいします
594:デフォルトの名無しさん
19/11/24 22:55:11.94 7ZFsEzWw.net
ソース見せてもらえへんとなんとも
595:デフォルトの名無しさん
19/11/25 14:38:22.16 7t0vtsJ9.net
>>558 ですが解決しました
因みにforループの中のif文で
if xx then 処理A
elseif yy
処理B
else
処理C
endif
といった書き方をところどころしていたのですが
1行でif xx then 処理 の後ブロック構文ががだめになったみたいで
全部
if xx
処理A
にしたら動きました
596:デフォルトの名無しさん
19/11/25 14:56:34.71 E9DgYFh2.net
ifb って書けば良いのでは?
597:デフォルトの名無しさん
19/11/25 15:52:04.30 zoSkKdve.net
>>560
5302のヘルプ見るとその書き方は載ってないからもともと非対応だったのかも
598:デフォルトの名無しさん
599:sage
構文解釈してるのはUWSC自体のはずだと思うけど なんでOSの影響受けるんだろう?
600:デフォルトの名無しさん
19/11/25 22:32:08.47 QpqOy3LM.net
x86→x64だと結構影響あるよ
特にActiveX使ってるとバグ作り込みやすい
601:デフォルトの名無しさん
19/11/26 00:20:42 Swtl+iDB.net
sckeyって裏マクロ非対応ですか?
変数に入れた文字列を送りたいのですが・・・
602:デフォルトの名無しさん
19/11/26 02:13:46.52 Swtl+iDB.net
すみません、sendstrの間違いでした、、、
603:デフォルトの名無しさん
19/11/26 16:25:19.36 Mtvvcsi1.net
>>561
どのバージョンからか忘れたけどifでも ifb でもどっちでも良くなったと説明書きがあったと思うのですが
それ以来ifb は使用してないです 結構昔です 10年以上前かも
>>562
今まで動いていたのは作者のバグだったのでしょうか?
それよりエラーメッセージが日本語になったのは驚きました
あとwin7のエラーメッセージは編集して行が変わっててもその都度エラーが発生した行番号を表示しますが
win10は編集して行が変わっても最初に表示した行番号を表示します
ファイルを編集してもすぐには反映されないのかと思いましたがとりあえずエラーは出なくなったので原因はわかりませ
後iniファイルを起動時に読みこんだ値と変わってしまっていてまともに動きません
現在調査中ですがわかる方いたら教えて下さい
あと7ではタスクバーから起動したり終了させたり(マウス中ボタン)できてたのもできなくなって大変困ってます
他にも問題だらけでwin10への以降は不可能な気がしてきて気が重いです
604:デフォルトの名無しさん
19/11/27 02:18:16 7G4RG5sM.net
数年前の事(Win7→Win10、UWSCバージョンアップ)を今更騒いでも当時の記憶掘り出せるかは怪しいもんだと思うし
スクリプト全体像なり再現用のミニマムコードでもくれなきゃこっちで確認なんかできないよ
特にWin10では色々問題あったがほとんどの人はとっくに対応しちゃって何が問題だったか忘れてるか
UWSC自体に見切りつけて簡単に使えるところにしか使ってないというのが現状と思われる
てかね、Win10自体も最近1909出たばかリで、またUWSCの動作が何か変わっているかもしれないし変わってないかもしれない
ただ言えることはUWSCは今後更新されないので、改善は見込めないということ
605:デフォルトの名無しさん
19/11/27 03:42:15 DxUr7XIY.net
>>567
まさかと思うけどUWSCのフォルダを
Program Files
Program Files (x86)
に置いてないよね
もし置いていたら、いまからでも遅くないから、そこじゃないどこかへ
606:デフォルトの名無しさん
19/11/27 14:33:22 8E8c4VQb.net
そ~こではないど~こか~へと~
607:デフォルトの名無しさん
19/11/27 21:15:02.15 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:デフォルトの名無しさん
19/11/27 22:40:20
609:.96 ID:MWZwasL9.net
610:デフォルトの名無しさん
19/11/28 10:04:18.53 p/uKw1d3.net
Excelのマクロでよくねw
611:デフォルトの名無しさん
19/12/06 18:31:31 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:デフォルトの名無しさん
19/12/06 23:53:28.48 56eN38dl.net
>>574
server叩いて何してんのよという話
まずはコマンドプロンプトなりで普通にコマンド叩けるようになってからスクリプトにしなされ
613:デフォルトの名無しさん
19/12/10 19:46:27.81 lD8f3lrI.net
もうここは初心者用スレとして成立してないなw
614:デフォルトの名無しさん
19/12/11 00:59:28.66 VzIBlOls.net
本当の初心者なんですけどどこがおすすめですか?
さっぱり分かりません
615:デフォルトの名無しさん
19/12/12 10:56:26.42 lDgwg3+p.net
573です。sdk?入れてそこのadb.exe指すようにしたら裏マクロ動きました
DOSCMDから実際にタップされるまで半秒ほどかかっているのと、コマンド実行したらMumuを再起動するまでやたらカクつくようになるのはなぜでしょうか
616:デフォルトの名無しさん
19/12/12 11:26:37.80 u7RWFF/r.net
Mumuってエミュが重いか単純にPCのスペック不足
617:デフォルトの名無しさん
19/12/12 12:00:09.18 OHjSk6WK.net
スクリプトが悪いのでは
本スレで話題になってたように画像認識にウエイトがないとかそういう
618:デフォルトの名無しさん
19/12/12 19:50:24.51 D8fZkyt4.net
コマンドプロンプトで試して同じ挙動かどうか
まずは原因がUWSCなのか、PCその他環境なのか調べないと
619:デフォルトの名無しさん
19/12/17 21:25:34.41 +LcZYIpJ.net
excelのfindで見つからなかったときのcomエラー回避ってあるんでしょうか?
wikiみても載ってないし、vbaにあるIS NOTHINGも使えないし・・・
620:デフォルトの名無しさん
19/12/17 21:31:30.08 +LcZYIpJ.net
すみません、自己解決しました
621:デフォルトの名無しさん
20/02/07 17:05:22 4XbBvaET.net
saveimg(gazou,0,200,300,30,30,,0,img_fore)
とした時は今見えている画面の200,300の位置の30,30サイズのbmpが保存されますか?
またその画像を指定して同じ画面で画像検索できますか?
622:デフォルトの名無しさん
20/02/07 20:48:29.13 SnbR1xpB.net
されないんじゃない
てか動かしてから聞きにきてくれよ
623:デフォルトの名無しさん
20/02/09 14:17:47 +d0DSBvE.net
f12でソース見ると色の指定は#rrggbbで統一されてるのに
iegetsrcで全文抜き出して見ると部分的にrgb(n,n,n)になっている
なぜこんなことに…
624:デフォルトの名無しさん
20/03/02 09:25:47 1HOipiaV.net
すいません質問させてください
クリップボードに取り込んだwebのタイトルをそのままファイル名にして保存したくて調べているのですが
クエスチョンやスラッシュなどファイル名に使えない文字を変換してクリップボードに上書きする方法はありますか?
よろしくお願いします
625:デフォルトの名無しさん
20/03/02 09:33:54 1Poklgsp.net
変換とはどういうこと?消せばいいの?
626:デフォルトの名無しさん
20/03/02 09:50:5
627:7 ID:1HOipiaV.net
628:デフォルトの名無しさん
20/03/02 09:51:59 1HOipiaV.net
消すかアンダーバーなどの使える文字に変換したいと思ってます。
629:デフォルトの名無しさん
20/03/02 09:52:58 1Poklgsp.net
Replaceで置換は?
630:デフォルトの名無しさん
20/03/02 11:58:20 RHbccdbo.net
ありがとうございました。
Replaceでうまく変換出来ました。
助かりました。
631:デフォルトの名無しさん
20/03/09 21:11:27.70 bpMBC8cG.net
すみませんが、知っている方がいらしたら、教えて下さい。
Pro版のシリアルはなんですか?
632:デフォルトの名無しさん
20/03/09 22:23:49 xFD8Q/oe.net
いいえなんではないです
633:デフォルトの名無しさん
20/03/19 08:38:19.27 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:デフォルトの名無しさん
20/03/19 09:28:56.69 E5mfm90d.net
関数化してthreadで別々に動かす
635:デフォルトの名無しさん
20/03/19 09:36:31.31 8+JNVm+N.net
何やら新しいUWSC知識が必要のようですね
調べてきます
636:デフォルトの名無しさん
20/03/19 13:31:47 8+JNVm+N.net
まったく意味がわかりませんでした
637:デフォルトの名無しさん
20/03/19 13:39:26 Nl/flVcz.net
>>598
ヘルプのスクリプト構文のスレッド生成読んだ?
それに当てはめるだけなんだけど
638:デフォルトの名無しさん
20/03/19 14:00:08 8+JNVm+N.net
thread BTN()
BTN(LEFT,CLICK,666,374,200)
とかなんか色々やってみたけどだめですね
639:デフォルトの名無しさん
20/03/19 14:20:06 8+JNVm+N.net
他のマクロソフトと組み合わせて操作できました
640:デフォルトの名無しさん
20/03/19 14:32:16 E5mfm90d.net
それならuwsc2つ起動する方がマシな対処だが…まあ希望が満たせりゃあ何でもよかろ
641:デフォルトの名無しさん
20/03/19 15:51:14.43 I/ufwmzm.net
Threadって便利なんだけど変数に同時参照すると固まるのがな
確率的には物凄く低いんだろうけど・・・
642:デフォルトの名無しさん
20/03/19 16:30:35.09 Nl/flVcz.net
参照してるだけで変数を書き換えてなければ大丈夫とおもったんだけど
643:デフォルトの名無しさん
20/03/19 19:08:00 vTx0gGjB.net
スレッドが最大64個も作れるから面白いんだよな
644:デフォルトの名無しさん
20/03/29 20:54:34 Qbasze3R.net
初心的質問で申し訳ありません。
ページ内の画像を探し見つければクリック、見つからなければスクロール+画像検索、
を三回繰り返して見つからなければ処理を停止してメッセージを出すというマクロを考えているのですが、まぁ難しくて
とっかかりすらつかめていません。
ご教示いただけませんでしょうか。よろしくお願いいたします。
645:デフォルトの名無しさん
20/03/29 20:58:57 pPr1xaO6.net
自分ではどこまでできたの?コード貼ってくれ
646:デフォルトの名無しさん
20/03/29 21:50:02 /EyNUXLu.net
>>606
まずそれぞれ単体で動くものを作る
ページ内の画像を探す
クリックする
スクロールする
三回繰り返す
処理を停止する
メッセージを出す
あとは条件とかでくっ付けるだけ
647:デフォルトの名無しさん
20/03/29 21:59:10 Qbasze3R.net
>>607
>>608
すいません、一番基本的な動きすらまともに作れてません…
ifb chkimg("img.bmp")
btn(left,click,g_img_x,g_img_y)
else
KBD(VK_SPACE)
print "画像が見つかりません"
endif
648:デフォルトの名無しさん
20/03/30 02:39:01 bxGMTHZO.net
>>609
そのサイトがどうなってるかわからないからなんとも言えないけど
スクロール量をコントロールするの難しくないか?
違ったアプローチが必要な気がする
649:デフォルトの名無しさん
20/03/30 02:57:48.27 fgzboYRU.net
g_img_x g_img_yがどこの位置か知ってる
クリックするのはその座標で間違いない
650:デフォルトの名無しさん
20/03/30 03
651::21:30.15 ID:bxGMTHZO.net
652:デフォルトの名無しさん
20/03/30 05:32:35 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:デフォルトの名無しさん
20/03/30 09:11:09 K5J2OuWJ.net
スペースキーで1ページ分スクロールするの知らないのだろうか…
654:デフォルトの名無しさん
20/03/30 10:27:43.27 Lez7EJJt.net
>>614
ごめん、知らなかった
それってゲームのフレンド一覧でも使えたりする?
655:デフォルトの名無しさん
20/03/30 11:10:38 /ApxdN83.net
普通は無理でしょう
656:デフォルトの名無しさん
20/03/30 11:26:59.29 8cfGBpvw.net
いや、>>609で、スペースキー押してるじゃん
608の勘違いの可能性も否定できないけど、スクロールでまず思いつくPgDownじゃないから、多分、普段行っている操作なんだと思う
今の段階で、スペースキーでスクロールしない対応しても、複雑になるだけで意味ないよ
あと、
>>611さんのコメント、文尾に?がついてないせいで、逆の意味になってるよ
IF文の真偽が出てないけど、printの位置から、スクロールしなかったんだと思うから、とりあえず真と仮定
真の場合は、クリックが失敗してるわけだから、まず、クリック位置を怪しむべき
657:デフォルトの名無しさん
20/03/30 13:03:44 Lez7EJJt.net
>>616
無理かぁ
じゃあこのまま行くか
>>617
btnにx軸y軸はあるけど最後に時間入れてないのって問題ないの?
658:デフォルトの名無しさん
20/03/30 14:25:56 8cfGBpvw.net
608=612,4,7 は無理があるから別人だよね
btnの時間引数は、必要な場合もあるし重要だけど、必須じゃないよ
手でクリックして動作するタイミングなら問題無いよ
時間調整が必要なのは、フォーカスの変更の様な、直前のコマンドの結果、Windows上で何かが変るのを待つ必要がある場合
調整しないと、変る前に動いちゃう事があるから、思い通りに動かないんだよ
経験上、btnで時間調整するより、sleep使った方がうまくいったし
それよりも、g_img_x,yって画像の端だから、画像の中央側にクリック位置をずらさないと画像をクリックしたことにならないよ
画像ファイルを、実際の画像よりも小さめに切取った場合は別だけど
659:デフォルトの名無しさん
20/03/30 15:44:58.10 Lez7EJJt.net
>>619
ごちゃごちゃと横から質問してごめんよ
自分は608ではないよ
時間も必須だと思ってた
詳しくありがとう
660:608
20/03/31 00:24:53.60 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
20/03/31 00:30:49.69 q/ETdZzS.net
誤投…orz完全に使うやつをカキコしてしまった
皆様のおかげでなんとか動かせるものが作れました!ありがとうございます
別の質問になってしまうのですが、callで呼び出した関数の…例えば上記のストップで親含めて停止させることは出来ますか?
よろしくお願いいたします
662:デフォルトの名無しさん
20/03/31 10:40:38 EP7/8t0I.net
exitとexitexit�
663:イべよう どうでもいいけどwhile内のifbでいずれにせよsleepするならifbの外でいいのではと思った
664:デフォルトの名無しさん
20/04/04 21:15:58.74 yfraQy7x.net
画像検索する範囲をちゃんと座標で指定するようにしたら早くなった
665:デフォルトの名無しさん
20/04/15 01:17:38 Nxi8vX8D.net
ChkImgXって普通に使えてる?
なんかうまく作動しない
666:デフォルトの名無しさん
20/04/15 05:11:08.81 HYKxrR9Z.net
長時間使ってると極稀にエラー起こすけど基本問題無いな
667:デフォルトの名無しさん
20/04/15 07:04:01 +ql6+04R.net
>>625
癖はあるけど動いている
バックグラウンド動作の画像認識はDirectX描画じゃないと駄目っぽい
chkimgではヒットするのにchkimgxでは全くヒットしない画像がある。chkimgxっていうか使ってるOpenCVライブラリの問題なんだろうけど
668:デフォルトの名無しさん
20/04/25 20:57:41.86 +DYe+iEQ.net
uwscを使用していると稀に external exception C0000264. と出てくるのですが、これはどうしたら出なくなりますか?
669:デフォルトの名無しさん
20/04/26 11:35:57.42 yth2UhWM.net
0xc0000264で調べて諦めるといい
670:デフォルトの名無しさん
20/05/02 19:11:57.36 hfp4FbZC.net
chkimgxを複数の並列処理で使用したいのですが上手くいきません。
一つのプロセスでしか機能しないのでしょうか?
複数で使えるのであればやり方などお教え頂きたいです。
671:デフォルトの名無しさん
20/05/02 22:26:35 yTTamFYE.net
グローバル変数に結果格納してるわけでタイミングによっては書き換えられてしまうからでは
どういううまく動かないかが分からんけど、これが原因なら実行後すぐに別の変数に退避するかスレッド別になるようにライブラリ書き換えるか、等々
672:デフォルトの名無しさん
20/05/03 14:58:09 J77i8eFq.net
procedure 並列()
while trur
if chkimgx(画像1.bmp,指定id1~
msgbox(ok)
endif
sleep(1)
wend
fend
↑の様なものを並列処理で別のウィンドウidを指定し3つ程動かしているのですが、chkimgxでエラーが発生しました。と表示されて動作しません。
どういった方法を取れば解決出来ますでしょうか?
673:デフォルトの名無しさん
20/05/03 17:30:45 2n/B6drN.net
お前には無理だから諦めろ
674:デフォルトの名無しさん
20/05/03 19:36:38.64 JpRTnUDx.net
startup_chkimgx()してないだけでしょ
675:デフォルトの名無しさん
20/05/04 23:58:16 pqlhkoPy.net
>>631
> これが原因なら実行後すぐに別の変数に退避するか
それでもタイミング次第で駄目だよ
chkimgx実行前後に排他処理入れるしか解決方法ない
676:デフォルトの名無しさん
20/06/26 12:54:56.86 qsHwziaQ.net
サクラエディタの質問になってしまうのですが、指定した行、例えば2,6,14,32行を1度にコピーしたり挿入するにはどうすればできますか。
よろしくお願いします。
677:デフォルトの名無しさん
20/06/26 13:04:26 PH3cJrMz.net
何がよろしくお願いしますだよ、スレチ過ぎて回答なんか来ないぞ
678:デフォルトの名無しさん
20/06/26 13:44:24.55 ECSKM2w9.net
サクラエディタってマクロないのかよ
679:デフォルトの名無しさん
20/06/26 18:59:51.57 42Sy87qY.net
あったはず
680:デフォルトの名無しさん
20/06/26 19:24:43.88 nyM1H0WV.net
UWSCのマクロを作るのにサクラエディタを使っているけどスレチだな
681:デフォルトの名無しさん
20/06/26 19:32:51.02 nyM1H0WV.net
そういやサクラエディタと
大昔にMIFES、VZ、 WZエディタを使っていたけど
評判の良い秀丸エディタは使った事が無かった
682:デフォルトの名無しさん
20/06/26 19:59:38.01 ECSKM2w9.net
秀丸のマクロをUWSCのセレクトボックスに登録して呼び出して使ってたりする
683:デフォルトの名無しさん
20/06/26 20:10:29.72 42Sy87qY.net
秀丸エディタは有料だから手を出す気にならない
684:デフォルトの名無しさん
20/06/27 00:34:23.45 iUYo3nGX.net
秀丸=四千円もするもんな
685:デフォルトの名無しさん
20/06/27 07:47:14.58 Jk2b87/7.net
>>644
やめろ
686:デフォルトの名無しさん
20/06/27 14:33:58.98 LSvaexnY.net
このネタわかる人は高齢者
687:デフォルトの名無しさん
2020/07/03(
688:金) 01:22:06.10 ID:Dvup0ZMV.net
689:デフォルトの名無しさん
20/07/04 09:42:53.15 bhHjhVrL.net
>>647
UWSC.exeと同じフォルダにRecUws.dllありますか?
690:デフォルトの名無しさん
20/07/04 13:54:48 3Gp7+FfQ.net
>>648
あります
その後が分かりません…
691:デフォルトの名無しさん
20/07/04 14:06:52.81 BpefeSFV.net
○ ○
○
○ ○
● ○
○
●が自機で、○が敵です
●から一番近い○を順にタッチしていきたいのです(●は移動するが○はその場所から消えない)
が、どうやればいいのか皆目検討がつきません
こういうアルゴリズムって何ていうんでしょう
692:デフォルトの名無しさん
20/07/04 14:11:12.78 BpefeSFV.net
間違えました
×(●は移動するが○はその場所から消えない)
○(●は移動する。○はタッチすると死骸×に変化する)
でした
693:デフォルトの名無しさん
20/07/04 16:00:55 rpET5GXf.net
アルゴリズムは知らんけど
CADCAMの工作機械ドリル穴あけパスの最短距離
自動生成機能みたいなやつだな
694:デフォルトの名無しさん
20/07/04 16:29:11.29 OTAHPrbr.net
巡回セールスマン問題?
これを真面目にやると面倒だけれど、
接近してきた画像を押すだけなら
野暮な力技で十分な気がする。
695:デフォルトの名無しさん
20/07/04 16:38:02 VhIEqfUN.net
>>650
単純に距離√(xx+yy)で当たり判定で良いんじゃまいか
696:デフォルトの名無しさん
20/07/04 17:17:22.17 DEQjmcqB.net
>>654
欲しいのは距離じゃなくて近い奴だから
ルート取る必要ないだろ。
697:デフォルトの名無しさん
20/07/04 17:38:19.56 TN5VprEm.net
>>655
は?
698:デフォルトの名無しさん
20/07/04 17:46:26.32 1QfEBuvL.net
ルートを計算しなくても大小関係変わらんだろ
今回に関してはバカに絡まれるデメリット背負ってまでルートの計算負荷を減らす意味はないと思うけど
699:デフォルトの名無しさん
20/07/04 17:56:59.79 VPpCSEzQ.net
>>651
白は移動したら移動後の位置から近い位置の黒にいくのと、それとも元の白の位置を基準にするのとどっち?
まあ、前者でも後者でもやることはchkimgなりで位置のリストが取得できるからそれ使って白位置の近似値からタップするだけよ
アルゴリズム? 知らんな
700:デフォルトの名無しさん
20/07/04 18:01:03 Mq6JcoKF.net
距離と分かる式にするか処理を少しでも軽くするかは一長一短で
自分が一番初めに思いついた方にしとく方が可読性が上がる
人に言われて変えるものではないと思う
701:デフォルトの名無しさん
20/07/04 18:08:20.26 DEQjmcqB.net
>>657
これさあ、昔読んだ叫ぶCプログラマっていう本に出てきた一節でさ。
それとも同じ作者のプログラマを笑えだったかな。
702:デフォルトの名無しさん
20/07/04 18:10:16.03 DEQjmcqB.net
>>659
この程度じゃコメントすら要らんだろ。
ま、距離の大小は2乗の時点で判明とかコメントつけときゃOK
703:デフォルトの名無しさん
20/07/05 14:07:22.77 s67fMTSC.net
1) 視界内の全敵位置取得
2) abs(自XY - 敵XY[数])で並べて近い敵に移動してタッチ
の繰り返しでやろうと思います
ありがとうございました
704:デフォルトの名無しさん
20/07/27 17:13:01.26 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:デフォルトの名無しさん
20/07/27 17:21:22.43 LFattNL9.net
ちなみに画像Aがない状態でスタートすると、画像Aが表示されるまで下にスワイプ(途中に画像Bがあってもスルー)してループ2を1周してからまた画像AとBが見つからないループに入ってしまいます。
また、adbを使わないマウスが取られるマクロの方は一応問題なく動いてます。
707:デフォルトの名無しさん
20/07/27 18:37:45.17 Ig/59khU.net
winid = getid("NoxPlayer")だろうとwinid = getid("メモ帳")だろうと関係なくwinidが1になってしまうのは何故なんでしょうか。
708:デフォルトの名無しさん
20/07/27 19:56:01.58 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:デフォルトの名無しさん
20/07/27 20:31:25.50 LFattNL9.net
>>666
回答ありがとうございます、スワイプ後の慣性も考えてsleepを長めに取ったり、最初の時点で画像Aが複数ある状態でスタートしても結果は変わらずでした。
procedureは使ったことがなかったので、調べながら修正してみます。
710:デフォルトの名無しさん
20/07/27 21:12:51.27 2I3xUck9.net
サイトハッキングて意外と簡単やな
URLリンク(re-file.com)
711:デフォルトの名無しさん
20/07/27 21:21:06.80 Y/C2ypnr.net
>X1 = g_imgx_x + 5 + random(5)
>Y1 = g_imgx_y - 30 + 5+ random(5) // ウィンドウ枠分の座標補正とクリック位置調整
これさあ
変数名って大文字小文字区別するんだっけ
712:デフォルトの名無しさん
20/07/27 21:49:14 LFattNL9.net
>>669
X1とY1をaaaとbbbにしてみたらちゃんと動作してくれるようになりました。
大文字と小文字を区別するにしても変数にx or y+数字は安直過ぎました。
解決方法を教えていただきありがとうございます。
713:デフォルトの名無しさん
20/07/27 22:31:39.36 3jtmTLJJ.net
>>668の本当の内容
【閲覧注意】【メキシコ】麻薬カルテル、元組織のメンバーを「皮剥ぎの刑」に処す - 18禁グロ
▼カテゴリ - 18禁グロには一部、異様・奇怪・猟奇的・暴力シーン・グロテスクな表現が含まれていますので、閲覧制限をしています。
1. 18歳未満は閲覧禁止です。
2. 耐性が無い方は閲覧しないでください。
3. 閲覧は自己責任でお願い致します。
※上記、18歳以上で同意できる方は入室
714:してください。 PASS:7777
715:デフォルトの名無しさん
20/07/28 01:07:54 dFO+mkSs.net
>>667
まず画像Aと画像Bを認識出来てる?
同じ画像に見えても表示される座標が変わると一致率も変わっているとかよくある
どこが問題か分かりやすくするために、デバッグは小さいパーツに分けてやったほうが良い
例えばスワイプ後に画像Bを探すだけのコードを試すとか
716:デフォルトの名無しさん
20/07/28 10:35:41 PZ7FD++0.net
>>672
画像Aや画像Bの認識は問題なく、>>669であるように変数にx1とy1を使っていたのが原因でした。
717:デフォルトの名無しさん
20/07/28 11:33:20.45 hWwhsWN2.net
どなたか>>665について分かる方みえませんか?
getid("アプリ名")をしても起動中のアプリは1、起動していないアプリは-1となり、1か-1しか結果が返ってきません。
ウインドウIDを取得したいのですが、何がいけないんでしょうか。
UWSC5.3.0.2、win10 64bitです。
718:デフォルトの名無しさん
20/07/28 11:45:37 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:デフォルトの名無しさん
20/07/28 12:32:50.82 BIndr6P+.net
>>674
winidはそもそも数値で表現されるオブジェクトじゃない
あえてそれを表示しようとすると1/-1で状態を返すという仕様なだけで別にidが1/-1ではない
>>675
doscmdの()内で+で記述すると加算された合計値じゃなくてそれぞれが文字列で結合されちゃうんじゃかいかな?
括弧でくくってやればいいと思うよ
720:デフォルトの名無しさん
20/07/28 13:09:15.41 PZ7FD++0.net
>>676
おっしゃる通りにしたところ上手く動作してくれました、ありがとうございました。
721:デフォルトの名無しさん
20/08/01 10:55:03 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:デフォルトの名無しさん
20/08/01 10:59:28 Bo5IFXl7.net
fendって何だっけ
723:デフォルトの名無しさん
20/08/01 10:59:55 Bo5IFXl7.net
procedure閉じてるのか
724:デフォルトの名無しさん
20/08/01 11:05:00.24 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:デフォルトの名無しさん
20/08/01 12:38:15.63 I5HfbaHP.net
死ぬほど読みづらいから
726:コード貼る時は適度な改行とインデントつけてくれ 5chだとアンダーバー4つか全角スペース2個でインデント1つになる while True ____ifb while True ifb
727:デフォルトの名無しさん
20/08/01 14:01:23.40 U7vGE7b3.net
>>678 >>681
インデントされてれば引用で専ブラで見れるはず
728:デフォルトの名無しさん
20/08/01 14:34:06.11 Bo5IFXl7.net
自分で好きに整形しろ
729:デフォルトの名無しさん
20/08/01 16:55:40.92 Uz4ilC0D.net
「Harigami」を使ってみてはどうだ
URLリンク(harigami.jp)
730:デフォルトの名無しさん
20/08/16 21:01:17.32 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:デフォルトの名無しさん
20/08/17 02:52:44.83 UvoRp25i.net
何エラーよ
732:デフォルトの名無しさん
20/08/17 19:53:01.04 KciEC6qM.net
*_chkimgxは何度も呼び出すような関数じゃないよ
どっかでリークしてるオチじゃないの
733:デフォルトの名無しさん
20/08/17 23:35:10.11 wjXkQQv2.net
TRYがWHILEENDの中でずっと回っていたのだけど、
WHILEENDの外に出したら治った・・・
皆様ありがとう
734:デフォルトの名無しさん
20/08/18 12:57:20.18 suCzDasT.net
CHKIMGやCHKIMGXの画像検索範囲について質問です。
大きさ10x10の画像を0,0 100,100の範囲から探す場合
画像左上のピクセルが100,100に到達するまで検索しているのか
画像右下のピクセルが100,100に到達かのどちらでしょうか
735:デフォルトの名無しさん
20/08/18 18:59:40.87 5Qy/mHcW.net
右下かなと思うが、試してみたら?
チェッカーパターンな背景作ってマスの画像で検索
736:デフォルトの名無しさん
20/09/02 22:09:27.14 fUjg46/2.net
uwscの実行中に離席した場合などでディスプレイの電源が切れないようにする方法ってないでしょうか?
今は5分に1回マウスを動かす処理を入れて対応していますがネット閲覧時にいきなりマウスが動くので操作しにくいです
コントロールパネルの電源オプションで設定を変更すればよいのはわかりますがuwsc実行中だけというのが理想です
よろしくお願いします
737:デフォルトの名無しさん
20/09/02 22:16:34.51 wdeVv3mH.net
UWSCで電源オプションの設定を変えれば
738:デフォルトの名無しさん
20/09/02 22:57:57.26 85wlAF9N.net
>>692
事前に2種類の電源プランを作っておき
UWSCのスクリプト内で
doscmd関数を使い
Powercfg.exeに電源プラン変更コマンドを送る
コマンドについては以下を参考に
URLリンク(ascii.jp)
うまく組めばマクロ終了時に電源プランを自動的に戻すことも可能
739:デフォルトの名無しさん
20/09/02 23:09:28.81 pBGvn6/E.net
//五分に一度 ALT を押してスリープ回避
while 1;sleep (300);kbd(vk_alt);wend;
740:デフォルトの名無しさん
20/09/03 00:02:11.56 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:デフォルトの名無しさん
20/09/03 20:27:05 ha/scr+l.net
>>692
外部ソフト併用で良ければ
FavSleepStopはおすすめ。
743:デフォルトの名無しさん
20/09/24 12:33:36.91 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:デフォルトの名無しさん
20/09/24 12:35:05.91 eUQ7jF7Q.net
画像aが出るまでループし、画像aが出たらOという仕組みにしたいだった
745:デフォルトの名無しさん
20/09/24 17:12:59.11 FiwMBeQt.net
単にループさせるだけなら
While 1
~
Wend
で良くね なんか条件が書いてあるからループしなくなるのでは
746:デフォルトの名無しさん
20/09/24 17:13:38.10 FiwMBeQt.net
あとWendより後にifbがあるからループの中に条件がないね
747:デフォルトの名無しさん
20/09/24 21:34:49.94 mGnJTDMd.net
>>698
これをみても特に問題があるとは思えない
>ループせず最後の所で止まってしまいます。
疑問1:ループしていないことをどう確かめたのか?
疑問2:最後の所とはどこか?
疑問3:終わるではなく止まるなのか?
ループ中、ループ後に PRINT か MSGBOX かを入れて
たしかにそこを通ってるかどうか確かめたほうがいいと思う
MSGBOXを使う場合はどうせテストなのでループ中のSLEEPは
2秒くらいとったほうが扱いやすい
748:デフォルトの名無しさん
20/09/24 21:45:43.40 /TzBJHGH.net
こんなこと書いてるしネタだろう
>少々省略しないと貼れないので省略しますが
>そのまま貼ります。
749:デフォルトの名無しさん
20/09/29 22:34:47.52 FsRpumhX.net
記録すらできないアプリがあるのか…これどうなってんだ
アプリはR2games.comのR2Client
12月末のFlash終了後このclientで引き続きプレイできるそうなのでインストールしてみたのだけど
UWSCで記録が全くできないので自動化が出来ない
750:デフォルトの名無しさん
20/09/29 23:38:54.63 0MYSuhb/.net
まあ、中身Flashのままみたいだからなあ
751:デフォルトの名無しさん
20/09/29 23:48:20.89 FsRpumhX.net
いやgetidすら取得できない
752:デフォルトの名無しさん
20/09/30 16:30:38.78 QVZpoBrX.net
flashのid取得するにはまずウィンドウidとって、その次にハンドル取得しなきゃダメだよ
753:デフォルトの名無しさん
20/10/01 19:39:40.83 LoI0BqO6.net
>>704の件は解決したというか
今日起動してみたら問題なく取得できた
なぜ取得できなかったのかはわからないけどこれで懸念事項は払拭できた
>>707は勘違いしてるけど解決したからいいです
754:デフォルトの名無しさん
20/10/02 14:26:32.02 fC3or5Mo.net
ある期間からある期間の月数って、
どうやったら求められる?
例えば2019年10月から2020年3月は6ヶ月。
これを求めたい。
755:デフォルトの名無しさん
20/10/02 14:38:31.92 b1fFJk4v.net
検索したけど分からんかった
年×12+月で引き算+1したら?
756:デフォルトの名無しさん
20/10/02 15:37:29.99 fC3or5Mo.net
なるほど!
頭、いいね。
やってみる
757:デフォルトの名無しさん
20/10/03 09:16:10.12 A1z8cMTv.net
autoitを使ってる人いる?
758:デフォルトの名無しさん
20/10/09 00:15:11.67 fWH520+c.net
>>712
今は使ってないが、前は結構使ってた。
759:デフォルトの名無しさん
20/11/03 22:30:50.25 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が選んだ車からクジで決めたものガチで買いますwwwwwwwwwhttps://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:デフォルトの名無しさん
20/11/06 23:06:53.83 362vvKB1.net
2つのスクリプトを同時に実行したいのですがどのような処理を書くべきでしょうか?
//同時.uwsの内容
call 処理1.uws
call 処理2.uws
こんな感じで書いても処理1.uwsが動くだけです
処理1.uwsが終わったら処理2.uwsが動くと思うのですがそうではなく1と2を同時に実行して別々の動きをして欲しいです
uwscの実行ファイルとそれぞれのスクリプトファイルは全て同一フォルダにあるものとします
よろしくお願いします
762:デフォルトの名無しさん
20/11/06 23:09:52.79 oall+sef.net
thread 処理1.uws
thread 処理2.uws
763:デフォルトの名無しさん
20/11/07 20:04:03.01 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:デフォルトの名無しさん
20/11/08 09:07:47.79 96WGa2GX.net
>>716
>>717
試行錯誤してて返事が遅くなりました
スクリプトの挙動が少しおかしいですが目的通りに動いてくれるようになりました
なんか変だけど動いてるからまあええかとなってしまうから進歩しないんだなと実感しました
ありがとうございました
765:デフォルトの名無しさん
20/11/15 21:51:04.27 PgpnhPdo.net
参考にしようと思って開いたnaverまとめが9月末で閉鎖してる…
766:デフォルトの名無しさん
20/11/25 11:53:39.76 Qh6houu2.net
>>718
同時に実行されると困るような関数使ってたりするとはまるので注意
767:デフォルトの名無しさん
20/12/26 22:00:19.24 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:デフォルトの名無しさん
20/12/26 23:50:39.26 c93B7w+q.net
>>721
SAVEIMGのIMG_BACKで取得できなかったら
アプリ自体が非アクティブ時の描画をサボってるから
どうやっても取得できない
770:デフォルトの名無しさん
20/12/27 00:47:30.15 n8fvXRaD.net
>>721
VMware等仮想OSの方でNOXを動作させてアクティブにすれば
Vmwareを最小化にしても内部ではアクティブですからね
こういうときは多コアのCPUが有利なので8コアや16コアのCPUを買おう!
771:デフォルトの名無しさん
20/12/27 01:23:55.59 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)
こちらは認識してくれているので、記述のミスはないと思います